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

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

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

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

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

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


当前回答

我们可以通过以下方式更新npm的特定版本

npm install -g npm@8.12.1 

其他回答

刚刚听取了npm团队对nodeup最新一集的采访,他们建议不要在1.x到2.x的更新中使用update,而是使用:npm安装npm-g

我个人使用nvm(节点版本管理器),这是一个简单的bash脚本来管理多个活动的Node.js版本,您可以同时为不同的用户配置多个版本的节点和全局模块。

您可以查看以下链接:nvm

还有一个windows版本nvm windows

警告:如果您需要从旧版本(在我的例子中是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。

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

sudo npm cache clean -f
sudo npm install -g n
sudo n <specific version>