我刚刚安装了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>

其他回答

警告:如果您需要从旧版本(在我的例子中是v4.6.0)更新Node,最好从头开始重新安装nodejs(下载链接:https://nodejs.org)否则,npm也会将自己更新到与新Node不兼容的版本(请参阅本讨论)。

这是我在使用npm更新Node(在Windows上)后收到的错误消息

$ npm install -g npm stable
[ . . .]
$ npm 
C:\Users\me\AppData\Roaming\npm\node_modules\npm\bin\npm-cli.js:85
      let notifier = require('update-notifier')({pkg})
      ^^^

SyntaxError: Block-scoped declarations (let, const, function, class) not yet supporte
d outside strict mode
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:373:25)
    at Object.Module._extensions..js (module.js:416:10)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)
    at Function.Module.runMain (module.js:441:10)
    at startup (node.js:139:18)
    at node.js:974:3

新安装后,npm再次工作:

$ npm -v
6.5.0
$ node -v
v10.15.0

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。

就用这个代码

npm install update
npm install -g npm@latest

如果已经安装了npm,则可以在终端中运行上述代码来更新节点包管理器。如果你没有npm,你可以使用

sudo apt-get install npm

然后可以通过上述方法更新它

这对我在Windows上仅更新npm(管理模式下的powershell)有效:

npm --version
# 5.6.0
cd "C:\Program Files\nodejs"
rm "npm" 
rm "npx"
mv "npx.cmd" npx.old.cmd
mv "npm.cmd" npm.old.cmd

# This is the important command
./npm.old.cmd install npm

rm *.old.cmd
npm --version
# 6.4.1

这个固定的npm WARN npm npm不支持Node.js v10.12.0,因为chocolate安装了不兼容的Node和npm?