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


721

当前,我在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/

有没有不使用它就可以升级Node.js的方法?

我已经用谷歌搜索了这个问题,但是在我看来,对于最新的Node.js,这个问题没有很明确的答案。


谢谢鲍勃。我已经更新了我的问题。
afterglowlee

不确定答案,但为澄清起见,更新时是否正在运行Node进程?
鲍勃·戴维斯

不,我认为没有任何Node进程在运行。重新启动操作系统后,“ node -v”命令仍显示v0.6.16正在运行。
afterglowlee12年

1
乡亲-这是一个已有6年历史的问题,并且答案也同样古老。毫无疑问,它们是当时的最佳实践。但是截至2018年,brew upgrade node应该还可以。请在下面查看wprl的答案。
pscl

2
@pscl截至2019年2月,npm网站实际上建议使用Node版本管理器,例如nnvm安装和升级Node和npm。
alexw

Answers:


1396

这是我成功从升级v0.8.18v0.10.20 而不需要 brew等任何其他要求的方式(在终端中键入以下命令):

  1. sudo npm cache clean -f (强制)清除npm缓存
  2. sudo npm install -g n安装n(这可能需要一段时间)
  3. sudo n stable 升级到当前的稳定版本

请注意,这sudo可能会提示您输入密码。

关于步骤3附加说明:stable可以被交换latestlts(长期支持)或诸如任何特定的版本号0.10.20

如果在键入时未显示版本号node -v,则可能必须重新启动。

也可以在以下位置找到这些说明:davidwalsh.name/upgrade-nodejs
有关此处找到的n包的 更多信息:npmjs.com/package/n
有关Node.js的发布时间表的更多信息:github.com/nodejs/Release


6
在MacOS X Snow Leopard中努力将节点从v0.10更新到v0.12。谢谢。
Salvador P.

3
FWIW您可以使用'n lts'来安装长期支持版本而不是当前的稳定版本(即在撰写本文时为4.4.3而不是5.10.1)
StephenT 2016年

2
Brew正在发生错误。目前,这是正确的答案。
oguzhan00

5
sudo n lts作为最后一步,您将获得长期支持版本
Slartibartfast

3
这行得通,但是没有人解释为什么安装“ n”命令有什么帮助。我只是想出了今天的“n”是一个Node.js的版本管理,如故宫JS网站上的有些解释- npmjs.com/get-npm
马克

861

如果最初使用Homebrew安装Node.js,请运行:

brew update
brew upgrade node
npm install -g npm

还是单线:

brew update && brew upgrade node && npm install -g npm

更改版本的便捷方法是使用nvm

brew install nvm

要使用nvm安装最新版本的Node.js:

nvm install node

如果通过软件包安装,请从nodejs.org下载最新版本。请参阅安装Node.js并更新npm


2
@afterglowlee您可以尝试重新安装新的前卸载旧节点:stackoverflow.com/questions/9044788/...
wprl

14
我只是赞成这个答案,但是等了7分钟后,brew告诉我安装失败...我也尝试过port upgrade node,但是brew已经弄乱了程序包,端口现在找不到节点...最后我去了nodejs.org下载安装包,兴隆!一切顺利,包括npm!
金兆火

3
@Jinzhao建议不要安装超过Homebrew,MacPorts或Fink之一。
wprl

2
在当前的brew版本中,它指出“如果您自己更新npm,请不要使用npm update命令。上游推荐的更新npm的方法是:npm install -g npm @ latest”
Pascal

7
npm install -g node如果您的节点版本仍未更新,请按照上述说明运行。
Thilina Hasantha

172

因为这在搜索如何在Mac上升级Node.js时似乎是Google的头等大事,所以我将向未来的任何人提供提示,无论它的年龄如何。

通过NPM升级
可以使用上面@Mathias描述的方法,也可以通过终端选择以下更简单的方法。

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

之后,您可以选择确认升级

node -v

您的nodejs应该已经升级到最新版本。如果您想升级到特定版本,请说v0.8.19,而不是

sudo n stable

采用

sudo n 0.8.19

编辑 除非需要,否则避免使用sudo。请参阅Steve在评论中的评论


4
您为什么要拒​​绝答案,而不添加说明原因的评论?
肯尼迪·尼亚加

因为您建议使用sudo。
OZ_

2
这可行,但是:是否真的需要使用--force标志cache clean?而且我不需要sudo前两个命令。
史蒂夫·贝内特

感谢@SteveBennett补充,我添加了sudo以便包括需要它的新手,而不是让他们陷入困境。此外,使用sudo在两种情况下都可以工作。
肯尼迪·尼亚加

5
有时在不需要时使用sudo实际上会造成混乱,因为您最终拥有拥有的文件root,没有sudo就无法修改它们。
史蒂夫·本内特

59

转到http://nodejs.org并下载并运行安装程序。现在有效-至少对我而言。


您是否知道在OS / X中如何安装jode.js更新?
Dimitrios Mistriotis 2012年

林不知道我理解你的要求
Spoeken

1
抱歉造成混乱(急忙写信)。我已经直接从站点的下载链接(当前版本:v0.8.14)安装了node.js。当说v0.8.15发布时,我是否必须再次下载它,它会自动更新,它会打电话通知我吗?以自制为例,我正在进行啤酒升级(这取决于我)
Dimitrios Mistriotis 2012年

1
我认为这不会打回家。我认为您必须定期检查并从其网页下载新版本。但我不是对此100%。
Spoeken

5
可能是这里最简单的方法。
Mohit

45

您可以安装nvm并安装多个版本的Node.js。

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

然后运行:

nvm install 0.8.22  #(or whatever version of Node.js you want)

您可以查看已安装的版本:

nvm list

您可以使用:

nvm use 0.8.22

使用NVM的好处在于,您可以同时测试不同的版本。如果不同的应用程序需要不同版本的Node.js,则可以同时运行它们。


2
我现在正在使用这种方法。在我看来,这是保持多个版本在同一台机器上运行的最佳方法。
afterglowlee13年


24

只需转到node JS网站并安装最新版本。

请安装最新版本而不是推荐的稳定版本。它使您可以自由使用节点上的最新ES6功能。

可以在这里找到Node JS

同样要更新npm,您将必须使用此命令。

sudo npm i -g npm@latest

您所有的项目都可以正常运行。


Mac的其他选项:: brew update && brew install node && npm -g npm




8

可悲的是,n这对我没有用。我使用node version manager or nvm它,它就像一种魅力。这是有关如何安装的链接nvmhttps : //github.com/creationix/nvm#installation

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

1
这是为我工作的那个。我尝试了几个最重要的评论,但是按照步骤操作之后,节点仍然停留在v6上。谢谢!
gedii

1
这对我有用。谢谢詹诺梅斯特。请支持接受的答案
Richard Abear

6

进入网站 nodejs.org并下载最新的pkg,然后安装。这个对我有用

我用brew升级了我的节点。它已安装,但是它位于其中,/usr/local/Cellar/node/5.5.0并且有一个默认节点/usr/local/bin/node困扰我。我不想建立软链接,因为我真的不知道Brew是如何组织的。所以我下载了pkg文件,安装并得到以下信息:

Node.js 安装在

/usr/local/bin/node

npm 安装在

/usr/local/bin/npm

确保 /usr/local/bin在您的$ PATH中。

现在升级完成


5

您可以转到nodejs.org并下载最新的软件包。它将为您适当更新。NPM也将更新。


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



3
sudo npm install -g n

然后

sudo n latest for linux/mac users

对于Windows,请重新安装节点。


3

Nvm Nvm是基于脚本的节点版本管理器。您可以按照本文档中的说明使用卷毛和bash单线笔轻松安装它。在Homebrew上也可以使用。

假设您已经成功安装了nvm。以下将安装最新版本的节点。

 nvm install node --reinstall-packages-from=node

最后一个选项将所有全局npm软件包安装到新版本。这样,像mocha和node-inspector这样的程序包就可以继续工作。

N N是基于npm的节点版本管理器。您可以通过先安装某些版本的节点然后运行来安装它npm install -g n

假设您已经成功安装了n。以下将安装最新版本的节点。

sudo n latest

Homebrew Homebrew是Mac上两种流行的软件包管理器之一。假设您先前已将节点安装为brew install节点。您可以获取有关公式的最新信息,并通过以下内容升级到最新的Node.js版本。

1 brew update
2 brew upgrade node

MacPorts MacPorts是Mac的另一个软件包管理器。以下将更新本地端口树以访问更新的版本。然后它将安装最新版本的Node.js。即使您已经安装了该软件包的先前版本,该方法也可以工作。

1 sudo port selfupdate
2 sudo port install nodejs-devel

brew upgrade node是微风
khawarizmi '18

这就是我在OSX上工作的原因。我可能已经安装了NVM,因为即使在执行了诸如此类的命令后node -v,我6.11.1仍然不断给我n latest。酿造升级工作了。谢谢。
Khom Nazid '18年

2

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

  1. 使用npm

sudo npm cache clean -f

sudo npm install -g n

sudo n stable

  1. 从官方网站(https://nodejs.org/en/)手动安装节点

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


下面的方法对我有用:

第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

在此处输入图片说明

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

nvm install node (“节点”是最新版本的别名)

检查节点是否获取最新版本(v10.11.0)。

在此处输入图片说明

安装最新的节点还会安装最新的npm。

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

在此处输入图片说明


我发现此方法现在对我不起作用。这是我的操作方式:(npm install -g n sudo n 10.11.0就我而言,我想更新为10.11.0)然后更新为10.11.0node -v
Saviah Kao


2

简单的安全步骤

步骤1:安装NVM

brew install nvm

步骤2:为NVM创建目录

mkdir ~/.nvm/

步骤3:设定环境变数

nano ~/.bash_profile

粘贴下面的代码

export NVM_DIR=~/.nvm
source $(brew --prefix nvm)/nvm.sh

source ~/.bash_profile

步骤4:仔细检查您的工作

nvm ls

步骤5:安装节点

nvm install 9.x.x

步骤6:升级

nvm ls-remote

   v10.16.2   (LTS: Dubnium)
   v10.16.3   (Latest LTS: Dubnium) ..........

nvm安装v10.16.3

故障排除

Error Example #1
rm -rf /usr/local/lib/node_modules
brew uninstall node
brew install node --without-npm
echo prefix=~/.npm-packages >> ~/.npmrc
curl -L https://www.npmjs.com/install.sh | sh

https://www.chrisjmendez.com/2018/02/07/install/


1

根据项目要求使用nvm升级节点。

通过自制软件安装nvm。brew更新brew安装nvm mkdir〜/ .nvm nano〜/ .bash_profile

在您的.bash_profile文件(根据您的shell,您可能正在使用其他文件)中,添加以下内容:

导出NVM_DIR =〜/ .nvm源$ {brew --prefix nvm)/nvm.sh

源〜/ .bash_profile echo $ NVM_DIR



0

您可以直接使用curl将节点升级到最新版本。运行以下命令:

curl "https://nodejs.org/dist/latest/node-${VERSION:-$(wget -qO- https://nodejs.org/dist/latest/ | sed -nE 's|.*>node-(.*)\.pkg</a>.*|\1|p')}.pkg" > "$HOME/Downloads/node-latest.pkg" && sudo installer -store -pkg "$HOME/Downloads/node-latest.pkg" -target "/"

参考:https : //nodejs.org/en/download/package-manager/#macos


0

这只是为未安装Homebrew的 Node添加人员的一些信息,但是在Mac OS X上尝试使用npm安装软件包时会遇到该错误。

我发现这篇很好的文章解释了如何以最初安装它的方式完全删除Node

节点 NPMñ完全从我的机器上取下,我刚刚重新安装Node.js的使用官方.pckg安装程序节点网站,一切只是回到正常。

希望这可以帮助某人。


-1

我仅用一行代码就能在约20秒内完成更新

sudo n latest

其他命令对我不起作用,但是此命令有效。希望它能帮助到别人。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.