节点5.5.0已经安装,但节点-v在OS X和自制软件上获取“v4.2.1”?

我试图更新我的nodejs v4.2.1到最新版本,并成功地得到了。 但是node -v仍然给我'-v4.2.1'。

在这里输入图像描述

在这里输入图像描述

较早的Node可能在更新的Node之前。 你可以运行你的shell:

 which node 

查看默认情况下运行的Node二进制文件(v4.2.1)。 通过运行你可以看到你的PATH是什么:

 echo $PATH 

它会显示如下所示:

 /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 

这些都是按照顺序search的目录,无论您何时键入“节点”或任何其他命令。 如果您的PATH没有安装新节点的目录,或者您的旧节点所在的目录之后,那么新节点将不会运行。 解决问题可能与运行一样简单:

 PATH="/usr/local/bin:$PATH" 

如果你的新节点被安装在/usr/local/bin (或者如果它被安装在其他地方的话,与其他path一起)。 您需要将这行添加到HOME中的.profile.bashrc中,以便每次login时都正确设置PATH,启动一个新的shell。

要查看/usr/local/bin是否有正确的节点版本,请运行:

 /usr/local/bin/node -v 

更新

看看你的评论和更新的答案,我敢打赌,你已经手动安装了Node 4.2.1(不是用brew),现在brew不会更新/ usr / local / bin中的二进制文件。

我会推荐的是手动安装它,并控制版本。 我将向您展示下载源代码,configuration,构build和安装在版本化目录中的命令,并更新PATH。

根据节点下载页面 ,当前版本是v6.1.0,但是如果你想具体的5.5.0或任何其他版本(最新的5.x是v5.9.1),那么只需将下面的命令更改为所需的版本。 (所有版本都在这里列出。)

 # change dir to your home: cd ~ # download the source: curl -O https://nodejs.org/dist/v6.1.0/node-v6.1.0.tar.gz # extract the archive: tar xzvf node-v6.1.0.tar.gz # go into the extracted dir: cd node-v6.1.0 # configure for installation: ./configure --prefix=/opt/node-v6.1.0 # build and test: make && make test # install: sudo make install # make a symlink to that version: sudo ln -svf /opt/node-v6.1.0 /opt/node 

最后将PATH="/opt/node/bin:$PATH"到您的.profile.bashrc (您的HOME和.tar.gznode-v6.1.0目录可以被删除或保留以供以后使用)。

此时which node应该返回/opt/node/bin/node ,版本是你想要的版本(本例中为6.1.0)。 如果要testing其他版本,请将其安装在/ opt / node-vXXX下的其他目录中,然后更新符号链接。 你不必更新PATH,只是符号链接。

这是比brew更多的工作,但是你可以完全控制安装的位置和位置。 我喜欢这个解决scheme是,你的版本不会混淆或混淆,你可以随时安装/删除版本,并快速设置任何版本为默认。

您的path包含/usr/local/bin /usr/local/Cellar之前的/usr/local/Cellar /usr/local/bin 。 由于您使用的node版本是homebrew ,请使用以下命令修复它:

 PATH="/usr/local/Cellar:$PATH" 

下一次,你有一个问题酿造,运行brew doctor ,它会告诉你该怎么做