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

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

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

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

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

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


当前回答

要更新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

其他回答

对于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版本。-->*

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

我已经开发了一个非常简单和快速的包来完成这种更新,atualiza可以处理全局和项目包。稍后,您可以选择最新版本或与当前package.json规则匹配的更大版本。对于全局包,您没有规则,所以atualiza将始终升级到最新版本。

就用这个代码

npm install update

现在已经很晚了,但我给出了我的答案,这样可以帮助被困在那里的人。如上所述,您可以通过多种方式进行更新,因此我在这里讨论更新nodejs和npm的最流行和最简单的方法。

 1)Update via library n 

 2)Update via nvm

打开你的终端我正在使用Ubuntu(Linux)

1) 您可以将n安装为任何节点模块(全局)

npm install -g n

OR

如果需要,也可以从源代码安装

cd /tmp
git clone --depth=1 https://github.com/tj/n
cd n
sudo make install

安装后,点击以下命令安装最新版本的节点

n latest 

now check node -v (you see the latest version is installed)

它将安装节点的最新稳定版本。

n stable

或者您可以通过对n添加版本号来安装任何版本,如

n 0.10.33          # Install and use v0.10.33

您可以在以下链接中查看有关n的更多信息,请单击此处

2) 现在是使用NVM的第二种方法安装

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash

wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash

安装后,点击以下命令安装最新版本的节点

nvm install node 

可以使用ls remote列出可用版本:

nvm ls-remote

如果要安装特定版本

nvm install 6.14.4 

安装后使用任何版本

nvm use node

将npm更新为最新版本

nvm install-latest-npm

希望它会有所帮助!