nodejs vs Ubuntu 12.04上的节点
我根据这里给出的指令在Ubuntu上安装了nodejs
当我在终端中写入node --version
时,我看到:
-bash: /usr/sbin/node: No such file or directory
不过,我可以在/usr/sbin/
目录中看到节点。
写npm --version
显示1.3.5
编写nodejs --version
显示v0.10.15
另外,我可以在/usr/bin/
目录中看到节点。
那么,我如何让node
工作?
另外,如果我使用zsh而不是bash,那么node
命令就可以工作。
您需要手动创建符号链接/usr/bin/node
。 bash兼容shell的快捷方式:
sudo ln -s `which nodejs` /usr/bin/node
或者,如果您使用非标准shell,只需对使用which nodejs
查找的路径进行硬编码which nodejs
:
sudo ln -s /usr/bin/nodejs /usr/bin/node
稍后编辑
我在你发布的链接中找到了这个解释
节点包(业余无线分组无线节点程序)存在命名冲突,nodejs二进制已经从节点重命名为nodejs。 您需要将/ usr / bin / node符号链接到/ usr / bin / nodejs,否则您可以卸载业余无线分组无线节点程序以避免冲突。
稍后再编辑
自从我回答这个问题已经有一段时间了。 虽然我在这里发布的解决方案曾多次为我工作,但用户在评论中报告了更多解决方案:
来自@ user229115
sudo update-alternatives --install /usr/bin/node node /usr/bin/nodejs 10
从AskUbuntu(用户leftium)
sudo apt-get --purge remove node
sudo apt-get --purge remove nodejs
sudo apt-get install nodejs
我觉得这就是:
sudo update-alternatives --install /usr/bin/node node /usr/bin/nodejs 10
使用Debian替代品。
显然这个解决方案在Ubuntu版本中有所不同。 以下在Ubuntu 13.10上为我工作:
sudo apt-get install nodejs-legacy
HTH
编辑: 经验法则:
如果您安装了nodejs
但缺少/usr/bin/node
二进制文件,那么还要安装nodejs-legacy
。 这只是创建了缺少的软链接。
根据我的测试中,Ubuntu的17.10和上面已经有兼容性软链接/usr/bin/node
到位后nodejs
安装,这样nodejs-legacy
从这些版本缺少,因为它没有更多的需要。