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


当前回答

很简单。

  sudo npm i -g n

然后可以指定您想要的版本。

sudo n 12.8.0 

干杯! !

其他回答

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

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

我尝试过的这两种方法都不奏效:

使用npm

Sudo NPM cache clean -f

Sudo NPM install -g

Sudo n稳定的

手动安装节点官网(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:

命令-v NVM

步骤2:下载、编译和安装最新版本的节点,键入以下命令:

NVM安装节点(“node”是最新版本的别名)

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

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

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

去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中。

现在升级完成

在Mac上更新Node.js有五种不同的方法(还在数吗?)

通过从nodejs.org下载安装新的二进制文件 通过Homebrew更新Node.js 命令:brew update && brew升级节点 使用节点版本管理器(NVM)更新Node.js 命令:nvm install {version} && nvm use {version} 使用n包管理器更新Node.js 命令:sudo n latest 通过MacPorts更新Node.js 命令:sudo port selfupdate && sudo port upgrade {version}

如果你仍在使用较旧的MacOS版本,最好使用轻量级、专用的包管理器,如n或nvm。你可以参考这个在旧Mac (High Sierra)上更新Node.js的示例用例。