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


当前回答

以下是我如何成功地从v0.8.18升级到v0.10.20,而没有任何其他要求,如brew等(在终端中键入这些命令):

Sudo NPM cache clean -f (force)清除你的NPM cache Sudo NPM install -g n install n(这可能需要一段时间) Sudo n稳定升级到当前稳定版本

注意,sudo可能会提示您的密码。

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

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

这些指令也可以在这里找到:davidwalsh.name/upgrade-nodejs 关于n包的更多信息可以在这里找到:npmjs.com/package/n 更多关于Node.js发布时间表的信息:github.com/nodejs/Release

其他回答

首先使用以下命令安装nvm:

Curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash

感谢@Saviah Kao

然后安装节点:

NVM安装节点——reinstall-packages-from=node

感谢@Elad

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

如果你最初使用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。

在macOS上,推荐的自制方法是运行

brew install node
npm install -g npm@latest

你可以在安装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,你可以同时运行它们。