题 如何将Node.js和npm更新到下一个版本?


我刚刚安装了Node.js和npm(用于其他模块)。

如何将Node.js和我正在使用的模块更新到最新版本?

可以这样做吗?或者我是否必须删除并重新安装Node.js和npm才能获得下一个版本?

我跟着 https://github.com/nodejs/node/wiki/Installation 和下一个npm部分。


1200
2018-06-04 14:28


起源


我指出,即使更正确的更新npm的方法是使用nodesource.com请参阅 stackoverflow.com/a/24760147/544463 - Yauhen Yakimovich
可能重复 如何更新npm - Simone Poggi
@Motocarota看看日期,其他问题是重复这个... - Andre Figueiredo
有工具 nvm wich为您提供了多个运行版本的node + npm的选项 - Искрен Станиславов
事情变得越来越好,因为这是第一次被问到(如果你不需要版本管理)。看到 更新节点(Windows,Mac和Linux)。 - swelet


答案:


请参阅文档 update 命令:

npm update [<name> [<name> ...]]

此命令将更新列出的最新版本的所有软件包(由标记配置指定)。它还将安装缺少的包。

另外,请参阅 常问问题

我如何更新npm?

npm install -g npm

请注意,此命令将删除当前版本的npm。一定要使用 sudo npm install -g npm 如果在Mac上

您还可以通过执行更新所有过时的本地程序包 npm update 没有任何参数,或通过做任何全局包 npm update -g

有时,npm的版本会进展,以至于无法使用已安装的版本正确安装当前版本。 (如果update命令中有错误,请考虑。)在这些情况下,您可以这样做:

curl https://www.npmjs.com/install.sh | sh

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


1398
2018-06-04 14:48



npm update npm -g 在Windows上没有为我工作 - 它完成没有输出但是npm仍然是相同的版本(1.3.11当最新版本是1.3.14) - B T
这是适合我的路径(介意www和sudo): curl https://www.npmjs.org/install.sh | sudo sh - guya
也有curl跟随重定向与-L curl -L https://npmjs.org/install.sh | sudo sh - AndyL
我就像你说的那样做了 npm update npm -g 现在我没有npm作为命令。 - alexserver
使用npm安装自己的新版本。我闻到了爆炸的味道。 - Claudio Holanda


我发现这个更新节点的方式非常简洁 大卫沃尔什的博客,你可以通过安装来做到这一点 n

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

它将安装当前的稳定版本 node。但是,我建议使用 nvm


347
2018-06-13 20:38



'sudo n stable'正在为我做这个伎俩 - Michael
@Michael - 你为什么需要一个技巧?我很困惑。 - vsync
拒绝运行Windows x64(但显然与win32一样)。这与Node.js项目不一致。 - rainabba
不支持Windows。我意识到使用Linux会更容易,但在工作中,我无法自由选择我的操作系统。正如@rainabba所说,Node.js项目的精神是跨平台的,而事实并非如此。 - Kevin Dice
在Windows中,您只需下载最新版本的节点并进行安装即可。它会升级节点和npm。 - Daniel Weiner


更新npm很简单:

npm install npm@latest -g

157
2018-03-13 01:09



这确实很简单。很多其他人都没有为我工作,这一个确切地到了现场,谢谢! - rcijvat
这会导致致命错误,至少对于mac用户而言 看这里 - dmr07
使用Windows 10和node v5.7.0命令 npm install npm@latest -g 无法从npm 2.7.4升级到npm 3.9.3。 - surfmuggle
在Laravel宅基地,这没有用。我仍然有相同的版本,即使在提出后。 - Pathros
这也是官方的答案: docs.npmjs.com/getting-started/installing-node - Travis Reeder


我理解这个问题适用于Linux机器,但是如果有人在寻找Windows解决方案,那就去吧 Node.js站点, 点击 下载 主页上的按钮并执行安装程序。

值得庆幸的是,它完成了一切,只需点击几下“下一步”按钮,我就可以在Windows 7机器上运行最新的0.8.15 Node.js版本。


127
2017-12-07 20:25



是的。这对我有用。我在窗户上。该 n 方法没有用。希望有更好的方法。 - Alexis
这是在Windows上升级节点的最佳和最简单的方法。为我工作很好。谢谢anmol - peter
这是一个懒惰的链接: nodejs.org/download - travis
我做了这个,但没有更新npm,只有节点本身。还在搜索... - Rafael Eyng
如果你在Windows上从npm v1.x更新到2.x,你可能在安装或更新npm后删除了“C:\ Program Files \ nodejs”中的'npm','npm.cmd'文件。看到: escapologist.wordpress.com/2014/09/29/... - Tom Wayson


您可能知道,NPM目前与Node.js捆绑在一起,这意味着如果您已安装 node 你已经安装好了 npm。有几种方法可以保持最新的Node.js和NPM,您需要使用以下版本管理器之一:

家酿

如果你在Mac上,你可以使用 家酿。 使用brew安装NodeJS和NPM:

$ brew install node

稍后您将能够使用更新它

$ brew update && brew upgrade node

NPM也将更新。

你也可以 switch 如果需要,可以使用以前的版本之一,例如:

$ brew switch node 0.10.26

要将brew安装到Mac:

$ ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"

ñ

ñ 最有可能的 rvm (Ruby Version Manager),可用于管理和更新 node/npm 版本。

轻松安装Node.js版本:

$ n 0.10.26
$ n 0.8.17
$ n 0.9.6

使用(如果缺少则安装)最新的官方发布:

$ n latest

使用/安装稳定的官方发布:

$ n stable

切换到您使用的先前版本:

$ n prev

如果要查看已安装节点的列表,请运行 n 从命令行,输出将如下所示:

$ n

  0.10.26
• 0.8.17
  0.9.6

点(•)表示它是当前活动的版本。要从列表中选择节点版本,请使用 up 和 down 箭头并激活使用 enter

n 包是纯粹的 linux shell 并作为npm模块提供(包含 package.json),所以如果你安装了任何Node.js,你可以安装/更新 n 通过 npm

$ npm install -g n

NVM

NVM 也像 RVM,甚至命令名称和用法都非常相似。

使用下载,编译和安装Node.js的最新v0.10.x版本 nvm

$ nvm install 0.10

然后您可以切换到已安装的版本:

$ nvm use 0.10

你可以创建一个 .nvmrc 包含项目根文件夹中的版本号的文件;然后运行以下命令切换到指定的版本:

$ nvm use

或者你可以运行它:

$ nvm run 0.10

如果要查看已安装的版本,请使用:

$ nvm ls

安装 nvm 本身你可以使用 安装脚本 (需要 git使用 cURL

$ curl https://raw.github.com/creationix/nvm/master/install.sh | sh

要么 wget

$ wget -qO- https://raw.github.com/creationix/nvm/master/install.sh | sh

附:

我在MacOSX和Linux上使用的所有这些方法,我没有任何关于如何在Windows上管理Node.js版本的经验,我只能假设 n (第二个)将适用于微软的操作系统(至少从微软的操作系统) cygwin)。


100
2018-03-07 15:45



我喜欢这个答案。 +1!但是,如果能够对不同的包管理器进行某种解释,它会更有用。即;为什么我应该使用一个而不是另一个。我真的很乐意给出背景.. - 7wp
我认为这三种方法之间没有太大的区别,只有 n 和 nvm 知道 Node.js因为他们专注于它而更好。在实践中,我正在使用 n 在当地和 nvm 在我们的持续集成服务器中 - Dan K.K.
使用命令“brew update && brew upgrade node”,npm没有更新到最新版本,如上所述“...... NPM也会更新......” - vikramvi


首先检查您的NPM版本

npm -v

1)将NPM更新为当前版本:

查看curent NPM版本:

npm view npm version

将npm更新为当前版本:

npm i -g npm


2)列出所有可用的NPM版本并进行自定义安装/更新/回滚

查看所有版本,包括“alpha”,“beta”和“rc”(发布候选版)

npm view npm versions --json

将NPM重新安装到从版本列表中选择的特定版本 - 例如5.0.3

npm i -g npm@5.0.3
  • 安装一个版本将自动删除当前安装的版本。

  • 对于Linux和iOS前置命令 须藤


85
2018-06-07 21:51



我遇到了一堆错误,包括 Error: EACCES: permission denied, unlink 以上命令运行 sudo 工作 - Imran Ali


升级Windows用户

Windows用户应该阅读 故障排除>在Windows上升级 在npm wiki中。

使用PowerShell在Windows 10上升级(第三方编辑)

上面的链接 故障排除#升级式窗口 指向github页面 NPM-Windows的升级 下面的行是自述文件的引用。 我使用node v5.7.0和powershell(大概是powershell版本5.0.10586.122)成功地从npm 2.7.4升级到npm 3.9.3

首先,确保您可以通过运行来执行系统上的脚本   来自提升的PowerShell的以下命令。运行PowerShell   以管理员身份,单击“开始”,搜索PowerShell,右键单击   PowerShell并选择以管理员身份运行。

Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force    

然后,要安装并使用此升级工具,请运行(也可以从   提升的PowerShell或cmd.exe):

npm install --global --production npm-windows-upgrade
npm-windows-upgrade

49
2017-12-01 19:29



github.com/felixrieseberg/npm-windows-upgrade - kayz1
或者只是运行:npm install -g npm - Gal Margalit
没有Gal,你在混淆这个问题,运行npm install -g npm在Windows上不起作用,你读过Windows用户有过的问题(上面列出的?)。如Surf的回答所示,使用Powershell方法。谢谢smurf,终于设法升级yeeehaaaa! - Davet


第一次更新 npm

npm install -g npm@next

然后更新 node 到下一个版本,

npm install -g node@next 要么 npm install -g n@next  或者,到最新的,

npm install -g node@latest 要么 npm install -g node

版本安装后检查,

node --version要么 node -v


44
2017-12-20 15:37



npm得到更新,但节点没有更新。 - JEEVAN GEORGE ANTONY


简单使用这个

npm i -g npm

这是我在我的控制台上从npm发布新的更新/错误修复时提示的内容:

enter image description here


39
2018-06-07 03:17



在我运行之后,我不得不退出bash终端并重新启动以查看更改。因为 path 至 npm 在更新过程中发生了变化,并且出于某种原因它在执行旧版本时显示了旧版本的课程 npm -v - anon58192932