我如何更新Node.js?

ale*_*nco 743 software-update node.js

我做了以下更新我的npm:

npm update npm -g
Run Code Online (Sandbox Code Playgroud)

但我不知道如何更新Node.js. 有什么建议?(我正在使用Node.js 0.4.1并希望更新到Node.js 0.6.1.)

Oli*_*eld 1070

我使用以下说明在Mac上从Node.js版本0.10.6升级到0.10.21.

  1. 清除NPM的缓存:

    sudo npm cache clean -f
    
    Run Code Online (Sandbox Code Playgroud)
  2. 安装一个名为'n'的小帮手

    sudo npm install -g n
    
    Run Code Online (Sandbox Code Playgroud)
  3. 安装最新的稳定Node.js版本

    sudo n stable
    
    Run Code Online (Sandbox Code Playgroud)

或者选择一个特定版本并安装如下:

sudo n 0.8.20
Run Code Online (Sandbox Code Playgroud)

对于生产环境,您可能需要注意版本编号并对奇数/偶数进行挑剔.

积分


更新(2017年6月):

这个四年前的帖子仍然获得了投票,所以我猜它仍然适用于很多人.不过,沃尔什先生本人建议只使用NVM Node.js的更新替代.

所以这就是你今天想做的事情:

找出您正在使用的Node.js版本:

node --version
Run Code Online (Sandbox Code Playgroud)

找出您可能已安装的Node.js版本以及您当前使用的那些版本:

nvm ls
Run Code Online (Sandbox Code Playgroud)

列出可供安装的所有Node.js版本:

nvm ls-remote
Run Code Online (Sandbox Code Playgroud)

显然对于Windows,命令将是这样的:

nvm ls available
Run Code Online (Sandbox Code Playgroud)

假设你选择Node.js v8.1.0进行安装,你可以输入以下内容来安装该版本:

nvm install 8.1.0
Run Code Online (Sandbox Code Playgroud)

然后,您可以自由选择已安装的Node.js版本.因此,如果您需要使用像v4.2.0这样的旧版本,您可以将其设置为活动版本,如下所示:

nvm use 4.2
Run Code Online (Sandbox Code Playgroud)

  • 您应该归功于您的来源 - 您的答案来自David Walsh的博客:http://davidwalsh.name/upgrade-nodejs.还应该注意的是,这种方法有一些主要的警告,一些相当具有破坏性,如原始博客文章中的评论所示. (75认同)
  • 更进一步.关闭并重新打开终端或者如果使用ssh,请退出并重新登录以查看新节点-v (25认同)
  • 不幸的是,这对我没有用..正如在Linux机器上所描述的那样 - 'node -v'在显示'v0.10.5'之前和之后 (3认同)
  • 似乎对我有用,但只是按照上面David Walsh博客的链接,他明确表示不要使用它 - 请注意! (2认同)

pra*_*eek 413

使用节点版本管理器(NVM)

它是一个Bash脚本,可让您下载和管理不同版本的节点.完整的源代码在这里.

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

  • @SimonEast有一个Windows的nvm:https://github.com/coreybutler/nvm-windows (25认同)
  • 仅供参考,安装NVM后运行的命令是'nvm install <version>'.例如'nvm install v0.8.7' (12认同)
  • 你不需要这个.Node不是Ruby. (11认同)
  • @PhilHannent根据NVM github页面,他们不支持Windows上的NVM,所以可以说"没有官方NVM for windows" (5认同)
  • 对于Windows,只需下载最新版本并安装。它将自动更新为您下载的新版本。 (2认同)
  • 您只需从官方网站安装最新版本的 NodeJs,它就会自动更新。为何要费心使用 NVM? (2认同)

Wil*_*ill 378

如果您安装了Homebrew(仅适用于OS X):

$ brew upgrade node
Run Code Online (Sandbox Code Playgroud)

  • 不要忘记先运行`brew update` (18认同)
  • 我说节点没有安装.注意:我没有用自制软件安装节点.还有什么我应该做的吗? (4认同)
  • 同意,我每隔几天就进行一次"brew升级",我会及时更新所有包装的最新更改 (3认同)
  • 这是一个痛苦,因为它意味着必须升级xcode,这意味着必须升级osx ... (3认同)
  • 如何使用 brew 安装特定版本的节点? (3认同)
  • 我在职业生涯的早期就写过这个超级英雄,从那时起就有机会尝试一系列不同的技巧.我强烈建议安装`n`并使用它,如果可以的话,在这个帖子上另一个答案:http://stackoverflow.com/a/19584407/392113 (2认同)

naX*_*aXa 283

这是一个适用于所有支持的操作系统*(包括Windows)的简单解决方案:

经过大量的冲浪并没有找到直接的解决方案,我只是尝试去Node.js网站,点击主页上的DOWNLOADS按钮并执行安装程序(MSI).

值得庆幸的是,它完成了所有工作,只需点击几下"下一步"按钮,我就可以在我的Windows机器上运行最新的Node.js版本.

(这是原始答案)

对于Docker用户,这是官方的Node.js图像.


PS:检查您的节点版本使用npm versionnode --version.
PPS:密切关注NodeJS博客 - 漏洞,这样您就不会错过重要的安全版本.

*Node.js支持的操作系统:Windows,Linux,MacOS,SunOS,IBM AIX

  • 如此简单明了..我正在寻找捷径,但这种方式似乎最简单.`node --version`来检查它是否有效..我也不得不谷歌 - 不要经常检查我的节点版本. (9认同)
  • 我更喜欢CLI:D和我是Windows用户.`npm install -g npm stable`然后`npm install -g node` (6认同)
  • 为什么要超链接操作系统的维基页面? (4认同)
  • 这对我不起作用。我有一个古老的安装版本 0.10.26。我一直在尝试安装6.10.0 LTS,但似乎不可能我可以多次下载并安装6.10.0,Windows 10机器只能看到0.10.26。在“添加删除程序”中我只看到6.10.0。 (3认同)

swe*_*let 195

所有平台(Windows,Mac和Linux)

只需转到nodejs.org并下载最新的安装程序即可.它没有任何简单,没有任何第三方的参与.它只需要一分钟,不需要你重新启动任何东西或清理缓存等.

我之前已经通过npm完成了几次并遇到了一些问题.例如,n-package不使用最新的稳定版本.

  • 安装后重新安装gulp不起作用.然后我打电话给`npm rebuild`,它又恢复了. (3认同)
  • 对于最后一条注释,您可以使用"where"命令查找可执行文件.例如:"where node.exe".在我的系统(win10)中,这给出了"C:\ Program Files \nodejs \node.exe" (3认同)
  • 这对我不起作用。我有一个古老的安装版本 0.10.26。我一直在尝试安装6.10.0 LTS,但似乎不可能我可以多次下载并安装6.10.0,Windows 10机器只能看到0.10.26。在“添加删除程序”中我只看到6.10.0。我找不到如何删除或更新这个旧版本,或者如何在其上安装新版本。有任何想法吗? (2认同)
  • 我尝试了该问题的其他解决方案,而这个解决方案最简单也最令人沮丧。 (2认同)

rob*_*rob 146

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

安装节点

cinst nodejs.install
Run Code Online (Sandbox Code Playgroud)

更新节点

cup nodejs.install
Run Code Online (Sandbox Code Playgroud)

注意:您需要先安装Chocolatey才能使用cinstcup.

  • 我有一个关于你如何更新Chocolatey的问题. (20认同)
  • @OhadSchneider如果你使用`.install`那么你将能够从Windows中的"应用程序和功能"中卸载节点 (6认同)

And*_*reL 139

第一次更新npm,

npm install -g npm stable

然后更新node,

npm install -g node 要么 npm install -g n

检查版本安装后,

node --version 要么 node -v

  • 这是一个糟糕的主意。为什么?更高版本的 npm 需要更高版本的 Node。因此,您可以更新 npm,然后它就会停止工作,因为您需要更新版本的节点。这样你又回到了起点,现在你的 npm 已经坏了。 (5认同)
  • 请注意,它在Windows 2016下对我有用,但是节点已安装到当前用户的目录中:C:\ Users \ my-current-user \ AppData \ Roaming \ npm \ ...; 它没有更新C:\ Program Files \ nodejs下的旧安装,也没有更新path变量。我最终使用msi-installer重新安装。帮我解决了 (3认同)
  • 辛苦了,谢谢。这应该是公认的答案! (2认同)

Clé*_*aud 76

要控制Node.js的版本,可以尝试n.我发现它非常直接和有用.

n是Node.js二进制管理,没有子shell,没有配置文件设置,没有复杂的API,只是简单.

npm install -g n
Run Code Online (Sandbox Code Playgroud)

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

  • 不在Windows上运行. (166认同)
  • 对我来说在Win7上不起作用 - 即使是在git bash中也是如此.`npm ERR!notsup与您的操作系统或体系结构不兼容:n@1.2.9 npm ERR!notsup有效的操作系统:!win32 npm ERR!notsup有效Arch:任何npm ERR!notsup实际操作系统:win32` (5认同)
  • 您也可以在不同的nodejs版本之间切换,只需键入"n"并选择您需要的版本 (3认同)
  • 我无法让它在Windows上工作.作者应该公布这一事实.对我来说这是一个死胡同. (2认同)
  • Git bash **在 Windows 10 64 位操作系统上对我不起作用** (2认同)

小智 54

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

sudo npm install n -g
sudo n 0.10.18   // This will give you the specific version
Run Code Online (Sandbox Code Playgroud)

对于最新的稳定版本:

sudo n stable
Run Code Online (Sandbox Code Playgroud)

  • @ErikReppen"n"也是一个外部解决方案(https://github.com/visionmedia/n) (4认同)
  • 你不能在 2011 年这样做吗?为什么其他人都用外部解决方案来回答?+1 使用 NPM,值得 IMO 回答。 (2认同)
  • 在AWS EC2 Linux实例上为我工作 (2认同)
  • 如果您尝试在 Windows 上安装“n”,请不要浪费时间。此时,“n”仍然无法在 Windows 上运行。对于 Windows,您必须从 nodejs.org 上的安装程序进行更新、使用 npm `npm install -g node``、使用 chocolaty 或安装 nvm(node 的第三方版本管理器)。 (2认同)

hao*_*ang 47

简短而愚蠢的回答:

转到此页面:下载| Node.js的

下载适用于您的平台的安装程序,然后进行安装.

  • 不仅适用于Windows,也适用于Mac,这是最快的 (3认同)
  • OP 没有提到任何关于平台的内容,因此 MSI 答案是有效的。 (2认同)

Sal*_*ali 33

当我看到我的Node.js安装已过时时,我遇到了同样的问题.

这几行将处理所有事情(对于Ubuntu):

sudo npm cache clean -f
sudo npm install -g n
sudo n stable
Run Code Online (Sandbox Code Playgroud)

在此之后node -v将返回最新的可用版本.

  • 在 Mac OS X Yosemite 上也能完美运行。 (2认同)

crm*_*cco 18

在CentOS 7上,您可以执行以下操作:

sudo npm cache clean -f
sudo npm install -g n
sudo n stable
sudo ln -sf /usr/local/n/versions/node/5.4.1/bin/node /usr/bin/node
node –v (Should show updated version now)
npm rebuild node-sass (Optional: if you use this)
Run Code Online (Sandbox Code Playgroud)

注意:需要使用符号链接将节点二进制文件与最新的Node.js安装二进制文件相链接.

  • 为我工作,我之前错过的重要事情是象征性的联系. (2认同)

iam*_*mbo 12

对于OS X,我有v5.4.1并且需要最新版本6所以我去了Node.js主页并点击了以下链接之一:

Node.js OS X下载链接

然后我按照安装程序,然后我神奇地拥有最新版本的Node.js和npm.


Ric*_*lli 6

您可以使用 nvm。

  1. http://nodejs.org/查看最新版本(例如 v0.10.26)
  2. nvm install v0.10.26

完毕。

您可以选择要运行的版本:

nvm ls 列出可用版本并告诉您现在使用的是哪个版本。

nvm use VERSION 将当前节点更改为请求的版本。

nvm alias default VERSION设置默认版本。下次您获取 nvm.sh 时,这将是加载的版本(请注意,它不会更改当前使用的版本,请nvm use为此运行)。


Sli*_*liq 6

对于 2018 年 以上的macOS(因为上述所有解决方案对我来说都失败了):

只需到官方nodejs站点,下载官方nodejs包并双击安装即可。这是您可以做的最简单、最安全且始终有效的事情。


npo*_*cop 5

一些Linux发行版如Arch Linux在其软件包存储库中有Node.js.在这样的系统上,最好使用标准的包更新程序,例如pacman -Suy或类似的apt-getyum命令.

截至目前(2016年11月),EPEL7提供了最新版本的Node.js(6.9.1,这是Node.js主页上提供的最新LTS版本).因此,在CentOS 7和衍生产品上,你可以通过yum install epel-release和添加EPEL存储库yum install nodejs.

CentOS 6/EPEL6有0.10.x,自2016年10月起不支持上游.


Kar*_*iga 5

$ npm install -g npm stable
Run Code Online (Sandbox Code Playgroud)

帮我更新 npm

  • 这是更新npm,问题是更新nodejs (5认同)

Fai*_*san 5


小智 5

更新 node 和 npm 的简单方法:

npm install -g npm@latest
Run Code Online (Sandbox Code Playgroud)

下载最新版本的node js并更新/install


Fuh*_*tor 5

今天我在 Windows Git Bash 上运行:

$ npm i node -g
Run Code Online (Sandbox Code Playgroud)

并得到以下输出:

$ npm i node -g
Run Code Online (Sandbox Code Playgroud)

https://www.npmjs.com/package/node阅读更多关于它的信息。