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

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

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

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

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

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


当前回答

此外,如果要更新到特定版本,请执行以下操作:

sudo npm cache clean -f
sudo npm install -g n
sudo n <specific 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

要更新npm:

npm install npm@{version} -g

要将npm更新到最新版本:

npm install npm@latest -g

并检查版本:

npm -v

要更新节点js:

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

要检查:

node -v

Use:

npm update -g npm

请参阅更新命令的文档:

npm更新[-g][<pkg>…]此命令将更新列出的所有软件包至最新版本(由标记config指定),并遵守semver。

此外,请参阅有关Node.js和NPM安装和升级NPM的文档。

以下原始答案来自已不存在的旧FAQ,但适用于Linux和Mac:

如何更新npm?npm安装-g npm请注意,此命令将删除当前版本的npm。确保在Mac上使用sudo npm install-g npm。您还可以通过在没有任何参数的情况下执行npm更新来更新所有过时的本地包,或者通过执行npm update-g来更新全局包。有时,npm的版本会升级,导致当前版本无法与您已经安装的版本一起正确安装。(考虑一下,如果update命令中存在错误。)在这些情况下,您可以执行以下操作:卷曲https://www.npmjs.com/install.sh|sh

要更新Node.js本身,我建议您使用节点版本管理器nvm。

我在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>

对于Linux,我建议使用包管理器更新节点:

Node预装了npm,但管理器的更新频率比Node高。运行npm-v查看您的版本,然后运行npm installnpm@latest-g安装最新的npm更新。如果要确保npm正确更新,请再次运行npm-v。

要更新NodeJS,您需要npm方便的n模块。运行以下代码以清除npm的缓存,安装n,并安装Node的最新稳定版本:

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

要安装最新版本,请使用n最新版本。或者,可以运行n#.#.#以获取特定节点版本。


当谈到Windows/macOS时,我建议在Nodejs.org上使用Installers

Node.js下载页面包含Windows和macOS的二进制软件包,但为什么要让你的生活更困难呢?预装的安装程序-适用于Windows的.msi和适用于macOS的.pkg-使安装过程难以置信地高效和易于理解。下载并运行该文件,并让安装向导负责其余部分。每次下载更新后,Node和npm的较新版本都将替换旧版本。

或者,macOS用户可以使用上面的npm和n指令。


在更新node_modules dependencies文件夹时,我建议跳过所有可能会让您头疼的事情,只需转到特定的项目并重新运行npm安装。

在任何人这样做之前,我建议首先检查package.json文件中的以下内容:

作为NodeJS包的用户,您可以在package.json文件中指定应用程序可以接受哪些类型的更新。例如,如果您从软件包版本1.0.4开始,这是您可以通过三种基本方式指定允许的更新版本范围的方式:

允许修补程序版本:1.0或1.0.x或~1.0.4允许次要版本:1或1.x或^1.0.4允许主要版本:*或x

说明:

存在不兼容API更改时的MAJOR版本。-->~

以向后兼容方式添加功能时的MINOR版本。-->^

完成向后兼容错误修复时的PATCH版本。-->*