节点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.gz
的node-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
,它会告诉你该怎么做