目前我在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,这个问题没有非常明确的答案。


当前回答

您可以直接使用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

其他回答

Nvm Nvm是一个基于脚本的节点版本管理器。您可以使用文档中描述的curl和bash一行程序轻松安装它。Homebrew上也有。

假设您已经成功安装了nvm。下面将安装node的最新版本。

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

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

N N是一个基于npm的节点版本管理器。你可以先安装某个版本的node,然后运行npm install -g n来安装它。

假设已成功安装n.下面将安装最新版本的node。

sudo n latest

家酿 Homebrew是Mac上两个流行的包管理器之一。假设你之前已经用brew install node安装了node。您可以使用以下方法获得最新的公式并升级到最新的Node.js版本。

1 brew update
2 brew upgrade node

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

1 sudo port selfupdate
2 sudo port install nodejs-devel

我可以使用以下命令升级节点

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

这只是为那些没有用Homebrew安装Node,但在Mac OS X上尝试用npm安装包时遇到非常错误的人添加一些信息。

我发现了一篇很好的文章,解释了如何完全删除Node,无论您最初安装它的方式是什么。

在node, npm和n从我的机器上完全删除后,我只是使用node网站上的官方.pckg安装程序重新安装node .js,一切都恢复正常了。

希望这能帮助到一些人。

你可以跑,但你躲不掉……最后,无论如何您都将使用NVM。

最新版本: NVM安装节点

具体的版本: NVM安装6.14.4

https://github.com/creationix/nvm