如何更新Node.js?

742

我按照以下步骤更新了npm:

npm update npm -g

但我不知道如何更新Node.js,有什么建议吗?(我正在使用Node.js 0.4.1,想要升级到Node.js 0.6.1。)


5
可能是重复问题:如何更新 NodeJS 和 Npm 到最新版本?。(至少应该提供链接) - blong
可能是升级Node.js到最新版本的重复问题。 - blo0p3r
29
我不太明白为什么大多数答案建议安装第三方工具 :/ - mcont
自从这个问题第一次被回答以来,情况已经变得更加容易(如果您不需要版本管理):所有平台(Windows、Mac和Linux) - swelet
可能是重复的问题,参考如何更新Node.js和npm到下一个版本? - core114
30个回答

1706

想要升级 Node,您可能需要先查看当前正在使用的 Node.js 版本:

node --version

查找您可能安装的Node.js版本以及您当前正在使用的版本:

nvm ls

列出可以安装的所有Node.js版本:
nvm ls-remote

显然在Windows下,命令会是这样的:

nvm ls available

假设您要选择安装Node.js v8.1.0,那么您需要输入以下命令来安装该版本:

nvm install 8.1.0

您可以自由选择安装的Node.js版本。因此,如果您需要使用旧版本(例如v4.2.0),您可以将其设置为活动版本,如下所示:

nvm use 4.2

这应该就是全部内容了。


2013年,我使用以下指南在Mac上将Node.js版本从0.10.6升级到0.10.21,如需更多最新指南,请参见上文。

2017年更新:请注意,Walsh先生建议仅使用nvm 来更新Node.js

  1. Clear NPM's cache:

     sudo npm cache clean -f
    
  2. Install a little helper called 'n'

     sudo npm install -g n
    
  3. Install latest stable Node.js version

     sudo n stable
    

或者您可以选择一个特定的版本进行安装,方法如下:

sudo n 0.8.20

对于生产环境,您可能需要注意版本编号并且对奇数/偶数编号挑剔一些。

鸣谢


161
你应该注明出处——你的回答引用自David Walsh的博客:http://davidwalsh.name/upgrade-nodejs。 同时需要注意的是,这种方法有很大的缺陷,有些相当破坏性,正如原博客文章中的评论所显示的那样。 - Shawn Erquhart
4
很遗憾,对我来说那行不通...我在Linux机器上按照描述的步骤进行操作,但无效。执行前后 'node -v' 显示的版本号均为 'v0.10.5'。 - Michael
35
还需进行一步操作。请关闭并重新打开终端,或者如果使用ssh,请退出并重新登录,以查看新的node-v版本。 - isimmons
2
对我来说似乎可以工作,但是刚才跟随上面的David Walsh博客链接,他明确表示不要使用它 - 警告! - brianjlennon
1
感谢brianjlennon的提示。我相应地更新了我的2013年的答案,包括了信用/链接。希望这样可以。 - Oliver Schafeld
显示剩余17条评论

709

使用Node Version Manager (NVM)

这是一个Bash脚本,可以让您下载和管理不同版本的node。完整的源代码在这里

nvm for Windows是一个单独的项目: github.com/coreybutler/nvm-windows

以下是在Windows上使用NVM来安装多个Node版本的完整步骤

  1. 下载nvm-setup.zip并解压安装它。
  2. 从cmd或gitbash或powershell执行命令nvm list available,这将列出所有可用的node版本enter image description here
  3. 使用命令nvm install version,例如nvm install 12.14.0来安装到机器上
  4. 最后,一旦安装完成,使用nvm use version来使用较新的版本,例如nvm use 12.14.0

16
一旦安装了NVM,运行命令是'nvm install <version>'。例如,'nvm install v0.8.7'。 - Kevin Lamping
18
不需要这个。Node 不是 Ruby。 - fiatjaf
29
@SimonEast,Windows系统也有一个nvm:https://github.com/coreybutler/nvm-windows - Phil Hannent
5
根据NVM的Github页面,他们不支持在Windows上使用NVM,因此可以说“在Windows上没有官方的NVM支持”。 - Sudhanshu Mishra
8
对于Windows系统,只需要下载最新版本并安装即可。它将自动更新到您下载的新版本。 - last_fix
显示剩余7条评论

630

适用于任意操作系统(包括Windows、Mac和Linux)

更新于2022年10月


只需前往官方 Node.js 网站(nodejs.org),下载并执行安装程序。

它会处理一切,只需点击几下“下一步”,你就可以在你的计算机上运行最新版本的 Node.js。自 2020 年以来,这是更新 Node.js 的推荐方式。这是最简单、最不令人沮丧的解决方案。

Download NodeJS for Windows, buttons

Download NodeJS for Win/Mac/Source Code buttons


专业提示

  • NodeJS 安装包含 NPM(Node 包管理器)。

  • 要检查您的 NPM 版本,请使用 npm versionnode --version

  • 如果您喜欢命令行界面,则可以使用 npm install -g npm 更新 NPM,然后是 npm install -g node

    • 有关更多详细信息,请参阅 install 命令的文档。
  • 关注 NodeJS 博客 - 漏洞公告,以便不会错过重要的安全发布。保持您的 NodeJS 最新。

  • Node.js 支持的操作系统:

  • Windows故障排除:

    如果有人像我一样在安装过程中遇到文件错误2502/2503,则需要通过管理员命令提示符运行.msi文件,并使用命令msiexec /package [node msi]


如果我的回答有帮助,请不要忘记点赞
(这里是 Anmol Saraf 的原始答案,也请点赞)


24
非常简单明了。我一直在寻找捷径,但这种方式似乎是最简单的。使用 node --version 命令来检查它是否奏效……我也不经常检查我的 Node 版本,所以我还需要谷歌搜索一下这个命令。 - Steve
3
这对我没用。我有一个古老的0.10.26安装程序。我一直在尝试安装6.10.0 LTS,但似乎不可能。我可以下载和安装6.10.0无数次,但Windows 10机器只能看到0.10.26。在“添加/删除程序”中,我只看到6.10.0。 - John Little
16
为什么你要在超链接操作系统的维基页面? - Buffalo
25
我喜欢使用CLI :D,我是一个Windows用户。 npm install -g npm stable 然后 npm install -g node - Radmation
1
通常在Windows中,双击就足以完成更新。我可以确认,只需下载最新版本并将其安装即可成功升级多次。 - Xavi3R Elvis
显示剩余11条评论

461

如果你已经安装了Homebrew(仅适用于 macOS):

$ brew upgrade node

4
同意,我只需每隔几天运行"brew upgrade"命令,就能及时更新所有软件包的最新更改。 - Glen Selle
3
这很痛苦,因为这意味着必须升级Xcode,而这又意味着必须升级OSX... - JGallardo
13
我的电脑显示未安装节点(Node)。注意:我没有使用Homebrew安装节点(Node),是否还有其他步骤需要进行? - theonlygusti
4
如何使用brew安装特定版本的node? - Shobhit Puri
2
我在职业生涯早期写了这个,自那以后我有机会尝试了许多不同的技术。如果可以的话,我强烈建议安装 n 并使用它,就像这个线程上的另一个答案所述:https://dev59.com/smsy5IYBdhLWcg3w-i7h#19584407 - Will
显示剩余4条评论

393
2023年:只需前往nodejs.org并使用最新的安装程序。
就是这样,伙计们。以前更加复杂,人们使用不同类型的软件包和策略来管理它。但现在情况变得更好了。
适用于所有平台(Windows、Mac和Linux)。

9
在重新安装设置后,gulp 无法正常工作。然后我调用了 npm rebuild,之后就可以正常工作了。 - Beauty
2
这对我没用。我有一个古老的0.10.26安装程序。我一直在尝试安装6.10.0 LTS,但似乎不可能。我可以随意下载和安装6.10.0,但Windows 10机器只能看到0.10.26。在“添加/删除程序”中,我只看到6.10.0。我找不到如何删除或更新旧版本,也不知道如何在其上安装新版本。有什么想法吗? - John Little
4
对于上一个评论,您可以使用“where”命令来查找可执行文件。例如:“where node.exe”。在我的系统(win10)中,这将给出“C:\ Program Files \ nodejs \ node.exe”。 - Dinesh Rajan
5
我尝试了其他解决方案,但这个是最简单和最少令人沮丧的。 - Jeff Marino
1
以防万一,这在Windows 7上可能不起作用。 - Anastasia
显示剩余3条评论

207

首先更新 npm

npm install -g npm stable

然后更新 node

npm install -g nodenpm install -g n

安装版本后进行检查,

node --versionnode -v


13
请注意,这个方法在 Windows 2016 上对我有效,但是 Node 被安装到了当前用户的目录下:C:\Users\my-current-user\AppData\Roaming\npm\...。它没有更新旧版本的安装文件夹 C:\Program Files\nodejs 或者环境变量。最后我选择重新使用 MSI 安装程序进行安装,这解决了问题。 - surfmuggle
5
这个想法很糟糕。为什么呢?因为较新版本的npm需要较新版本的node。所以你可以更新npm,但它就无法正常工作,因为你需要一个更新的node版本。这样你又回到了最初的状态,现在你的npm已经无法使用了。 - user3786992
1
它会安装 npm 的版本为 6.8.0,但我想要 6.11 的 NodeJS 版本,使用 npm install -g npm 可以吗? - Ashish Kamble
接下来,我们需要更改符号链接: ln -sf /usr/local/n/versions/node/10.17.0/bin/node /usr/bin/node - Vinod Sai
与@surfmuggle一样,上述方法错误地将node安装到了C:\ Users \ my-current-user \ AppData \ Roaming \ npm中。要修复:我删除了该目录(npm)并从我的Windows路径中删除了它。然后,命令node -v将能够正常工作,以获取从https://nodejs.org/en/download/安装的正确的node版本。 - John Bentley
这给了我以下警告 检测到 Node.js 版本为 v19.6.1。 奇数版本的 Node.js 不会进入 LTS 状态,不应用于生产。有关更多信息,请参见 https://nodejs.org/en/about/releases/。 而且 npm install 只是冻结了。 - Paul

153

Windows 上,您可以使用Chocolatey安装和更新Node.js(以及许多其他软件包)。

安装Node

cinst nodejs.install

更新节点

cup nodejs.install
注意:在使用cinstcup之前,您需要安装Chocolatey。

1
当我尝试运行 cup nodejs.install 时,出现了以下错误信息:“Microsoft.AspNet.Mvc”的模式版本与NuGet的版本2.1.31022.9038不兼容。请从http://go.microsoft.com/fwlink/?LinkId=213942升级NuGet到最新版本。” 后来发现只需在 C:\Chocolatey\chocolateyinstall 目录下的 nuget.exe 上运行 nuget.exe update -self 即可解决问题。希望这能帮助到其他人。 - Aaron P. Olds
1
cinst nodejs.install Chocolatey(v0.9.8.27)正在安装“nodejs.install”及其依赖项。通过安装,您接受“nodejs.install”和每个正在安装的依赖项的许可证。 无法找到软件包“nodejs.install”。命令“install”失败(有时这表示部分失败)。其他信息/软件包:nodejs.install - Frederik Krautwald
25
我感觉到一个关于如何更新Chocolatey的问题即将出现。 - Martin Brown
1
nodejs.installnodejs有什么区别? - Ohad Schneider
6
如果你使用.install,那么你就可以从Windows的“应用和功能”中卸载Node。 - rob
在Windows上,我建议使用winget Microsoft winget页面。对我来说,这是我在Windows上管理应用程序的最流畅的体验。要升级node,请键入winget upgrade Node.js - Broccoli

108

要将 Node 升级到最新版本或特定版本,您可以执行以下操作:

sudo npm install n -g
sudo n 0.10.18   // This will give you the specific version

最新稳定版:

sudo n stable

最新的LTS版(在Mac上测试通过)

sudo n lts

2
你能不能在2011年就做到这一点呢?为什么其他人都用外部解决方案回答了?使用NPM值得+1,并且在我看来应该得到答案。 - Erik Reppen
2
在 AWS EC2 Linux 实例上对我有用。 - ChrisRich
2
如果你正在尝试在Windows上安装"n",请不要浪费时间。目前为止,“n”仍然无法在Windows上运行。对于Windows,您可以从nodejs.org的安装程序更新,使用npm npm install -g node,使用chocolaty或安装nvm(一个第三方的Node版本管理器)。 - Paul Stoner
@ErikReppen 的 n 是一个节点包。对我来说,这算是“外部”的内容。 - Leif

92

要控制您的 Node.js 版本,您可以尝试 n。我发现它非常简单明了且实用。

n 是一个 Node.js 二进制管理工具,无需子 shell、无需配置文件设置、无需复杂的 API,只是简单易用。

npm install -g n

n 0.6.19将安装Node.js v0.6.19。


3
您可以在不同的Node.js版本之间切换,只需键入 "n" 并选择所需的版本。 - Mikhail.Mamaev
4
我也无法使它在Windows上运行。作者应该公布这个事实。对我来说这是一条死路。 - Tim Hardy
1
它在Windows中的git bash shell中对我有效。因此,如果您使用git,请启动git bash并在那里尝试! - Aaron Silverman
11
在我的Win7系统中无法运行,即使在git bash中也是如此。npm ERR! notsup Not compatible with your operating system or architecture: n@1.2.9 npm ERR! notsup Valid OS: !win32 npm ERR! notsup Valid Arch: any npm ERR! notsup Actual OS: win32 - mwotton
4
在Windows 10的64位操作系统上,Git Bash对我来说无法工作。 - eddyparkinson
显示剩余6条评论

63

简短回答:

进入此页面:下载 | Node.js

下载适用于您平台的安装程序并安装它。


你能在Ubuntu/LINUX上运行它吗? - Ashish Ratan
5
不仅在Windows上,而且在Mac上也是最快的。 - Dmitri Zaitsev
2
OP没有提及任何平台,因此MSI的答案是有效的。 - Hibou57
我修改了答案,改为“下载适用于您平台的安装程序”。不用谢 :) @AshishRatan,同一页上有Linux二进制文件。 - ADTC
现在在Ubuntu上对我有效。 - FabioDev
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接