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


当前回答

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

其他回答

我用的是Mac Mini M1。我刚刚删除了我非常旧的node.js和npm包,并决定使用自制软件安装它们。我发现现在brew install node也安装npm。仅供参考

以下是我如何成功地从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

sudo npm install -g n

然后

sudo n latest for linux/mac users

Windows系统请重新安装节点。

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

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

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

感谢@Saviah Kao

然后安装节点:

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

感谢@Elad