在 Mac OS 上升级 Node.js 到最新版本。

1006

我目前在使用Mac OS X 10.7.4操作系统上的Node.js v0.6.16版本。现在,我想将其升级到最新的Node.js v0.8.1版本。但是,我从nodejs.org下载并安装了最新的软件包文件后,在终端中输入“node -v”时,系统仍然使用v0.6.16而不是v0.8.1。我是否漏掉了什么步骤?或者,我需要在安装最新版本之前彻底卸载旧版本吗?

顺带一提,我知道nvm可以帮助管理nodejs包。

https://github.com/creationix/nvm/

有没有不使用nvm的方式来升级Node.js?

我已经谷歌过这个问题,但对于最新的Node.js,似乎没有非常清晰的答案。


你可能想先用 brew 命令双重检查是否已经安装了它。https://apple.stackexchange.com/questions/101090/list-of-all-packages-installed-using-homebrew - Adriano
4
大家好 - 这是一个6年前的问题,有一些同样古老的答案。毫无疑问,它们当时是最佳实践。但是从2018年开始,brew upgrade node应该可以正常工作了。请参见下面wprl的答案。 - pscl
4
截至2019年2月,npm网站实际上建议使用Node版本管理器(如nnvm)来安装和升级Node和npm。 - alexw
我遇到了这个问题,是因为没有必要引入“node-sass”,而且它并不需要。通过删除这个导入源,问题得到了很好的解决。这是2021年在React内部出现了类似错误信息的问题。 - ArifMustafa
只需使用“nvm install <version>” - undefined
显示剩余3条评论
32个回答

11
有五种不同的方式(还有更多?)可以在Mac上更新Node.js:
  1. 通过从nodejs.org下载较新的二进制文件进行安装
  2. 通过Homebrew更新Node.js 命令:brew update && brew upgrade node
  3. 使用Node Version Manager(NVM)更新Node.js 命令:nvm install {version} && nvm use {version}
  4. 使用n包管理器更新Node.js 命令:sudo n latest
  5. 通过MacPorts更新Node.js 命令(相同版本更新):sudo port selfupdate && sudo port upgrade {version}
如果您仍在使用较旧的MacOS版本,最好使用轻量级的专用软件包管理器,如nnvm

如果我只想升级到LTS版本怎么办? brew update && brew upgrade node 似乎适用于当前版本。 - Andres SK

10

现在这对我可行:

  1. 使用sudo npm install -g n命令进行安装
  2. 使用sudo n latest命令进行更新到最新版本

愉快地编程吧!


7
相当简单。
  sudo npm i -g n

接着,您可以指定所需版本。

sudo n 12.8.0 

干杯!!


7

遗憾的是,n 对我来说没有起作用。我使用 node 版本管理器或 nvm,它运行得非常好。这里有一个链接,告诉你如何安装 nvmhttps://github.com/creationix/nvm#installation

  • nvm i 8.11.2 升级到最新的 LTS 版本
  • nvm use 8.11.2 使用它
  • node -v 检查您的最新版本

1
这是对我有效的一个。我尝试了几个置顶评论,但在按照步骤操作后,node仍然停留在v6上。谢谢! - gedii
1
这个对我有效。谢谢jannomeister。请给接受的答案点个赞。 - Richard Abear

5
请到网站nodejs.org下载最新的pkg文件并进行安装。 我使用了brew升级我的node,虽然已经成功安装,但是它位于/usr/local/Cellar/node/5.5.0,而且在/usr/local/bin/node中有一个默认的node,这让我感到困扰。我不想创建软链接,因为我并不真正了解brew的组织方式。所以我下载了pkg文件进行安装,并获得了以下信息: Node.js已经被安装至:
/usr/local/bin/node

npm已安装在以下位置

/usr/local/bin/npm

请确保 /usr/local/bin 在您的 $PATH 环境变量中。

现在升级已完成。


5

我尝试的这两种方法都不起作用:

  1. 使用npm

sudo npm cache clean -f

sudo npm install -g n

sudo n stable

  1. 从官网手动安装node (https://nodejs.org/en/)

尝试后,node -v仍显示旧版本的node。


以下方法适用于我:

步骤1:安装nvm (更多详情请参见:https://github.com/creationix/nvm#installation

打开终端并输入以下命令:

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

关闭终端并重新打开它。

输入此命令以检查是否已安装nvm:

command -v nvm

enter image description here

步骤2:要下载、编译和安装最新版本的node,请输入以下内容:

nvm install node ("node"是最新版本的别名)

检查node是否获得最新版本(v10.11.0)。

enter image description here

安装最新的node还会安装最新的npm。

检查npm是否获得最新版本(6.4.1)。

enter image description here


我发现这种方法现在对我不起作用了。 这是我实际采用的方法: npm install -g n sudo n 10.11.0(在我的情况下,我只想更新到10.11.0) 然后它就会更新到10.11.0 node -v - Saviah Kao

4

您可以直接访问nodejs.org并下载最新的软件包。它会自动为您更新,NPM也将同时更新。


2
到目前为止,最简单的方法是通过网站进行初始安装。 - Elwin

4

我认为使用最新版本的Node.js最简单的方法是在网站https://nodejs.org/en/download/current/上获取最新的Node.js pkg文件。 如果你想使用不同版本的Node.js,可以使用nvm或n进行管理。


4

你可以逃,但你无法隐藏... 最终你还是要使用 NVM


2
或者使用“n”软件包... 如果您想要一个可以通过npm安装的简单包管理器,请参阅Kenny West的答案。 - Eternal Rubyist

4
sudo npm install -g n

然后

sudo n latest for linux/mac users

对于Windows,请重新安装node。


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