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

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

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

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

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

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


当前回答

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

其他回答

对于Cygwin用户:

在Cygwin中安装n(节点版本管理器)不起作用,而是使用以下命令更新节点:

wget https://nodejs.org/download/release/latest/win-x64/node.exe -OutFile 'C:\pathto\nodejs\node.exe'
# Updating npm
npm i -g npm

是的,您需要先安装wget。

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

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

使用npm中的n模块升级节点。n是安装或更新给定node.js版本的nodehelper包。

sudo npm cache clean -f
sudo npm install -g n
sudo n stable
sudo ln -sf /usr/local/n/versions/node/<VERSION>/bin/node /usr/bin/nodejs

注意,nodejs的默认安装在/usr/bin/nodejs中,而不是/usr/bin/node中

要升级到最新版本(而不是当前稳定的),可以使用

sudo n最新

要撤消:

sudo apt-get install --reinstall nodejs-legacy     # fix /usr/bin/node
sudo n rm 6.0.0     # replace number with version of Node that was installed
sudo npm uninstall -g n

如果您收到以下错误bash:/usr/bin/node:没有这样的文件或目录,那么您在

sudo ln -sf /usr/local/n/versions/node/<VERSION>/bin/node /usr/bin/nodejs

如果错误。因此,请确保检查更新nodejs是否已安装在上述路径上,并且输入的版本是否正确。

我强烈建议不要在生产实例上这样做。它会严重扰乱你的全球npm软件包和你安装新软件包的能力。

检查您的软件包版本:npm-v[软件包名称]

更新它:npm Update[-g][package name]

使用-g或--global将其安装为全局包。