我刚刚安装了Node.js和NPM(节点包管理器)

我安装了NPM以访问其他Node.js模块。

在我安装Node.js和NPM之后,我注意到这两个版本都不可用。

我想知道:如何将Node.js、NPM和我的Node.js模块升级到最新版本?

我需要卸载Node.js和NPM并重新安装最新版本吗?

这是到目前为止我所做尝试的链接。此链接是npm的一部分。


当前回答

我在David Walsh的博客上发现了这种更新节点的方法,你可以通过安装n:

sudo npm cache clean -f
sudo npm install -g n
sudo n stable

它将安装当前稳定版本的node。


编辑:请不要再使用n。我建议使用nvm。您可以通过以下命令简单地安装stable:

nvm ls-remote
nvm install <version> 
nvm use <version>

其他回答

这里有一个简单的修复方法,适用于那些通过Homebrew安装节点而不使用npm的用户,以及后来使用官方脚本进行npm升级/安装的用户。此方法假定您已按如下方式运行节点安装:

brew install node --without-npm
echo prefix=~/.npm-packages >> ~/.npmrc
curl -L https://www.npmjs.com/install.sh | sh

如果以上失败,请从这里开始。删除npm(如果有):

rm -rf ~/.npm-packages/lib/node_modules/npm

下载并解压缩最新版本的npm,当前版本为5.6.0:

cd ~
curl -L https://registry.npmjs.org/npm/-/npm-5.6.0.tgz | tar xz

将解压缩的包移动到node_modules文件夹:

mv ~/package ~/.npm-packages/lib/node_modules/npm

确保~/.bash_profile包含以下条目:

export NPM_PACKAGES="$HOME/.npm-packages"
export NODE_PATH="$NPM_PACKAGES/lib/node_modules:$NODE_PATH"
export PATH="$NPM_PACKAGES/bin:$PATH"

源文件:

source ~/.bash_profile

验证安装:

npm -v

每次我安装一个新的Linux操作系统时,我都需要安装nodejs和npm,有时稳定的发行版会安装这些的旧版本。。

因此,以下是升级到最新稳定版本的步骤。。。

$ sudo npm install -g n
$ sudo n stable # this is for stable one
$ sudo s latest # this is for latest one

希望这会有所帮助:)

对于那些想在windows上升级npm的人,

打开Powershell(作为管理员)并依次执行以下命令:,

>Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force
>npm install -g npm-windows-upgrade
>npm-windows-upgrade -p -v latest

如果使用linux,则可以使用nvm来管理项目中的多个节点版本

NVM允许您通过以下方式在项目中安装和使用不同版本:

nvm安装YOUR_VERSION以安装您的版本nvm将项目中的YOUR_VERSION用于项目中的版本,也可以使用.nvmrc文件自动管理项目中的该版本

要安装Nvm,您可以使用官方文档或执行以下命令

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm

现在您可以使用nvm了。。。。

要使用npm安装最新版本的npm,请执行以下操作:

sudo npm install npm@latest

我在Linux上运行这个,所以我不确定其他操作系统。

在Linux上,您还可以运行:

sudo apt-get update
sudo apt-get upgrade

这将告诉apt-get包管理器更新和升级所有包。