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从这些版本缺少,因为它没有更多的需要。

链接地址: http://www.djcxy.com/p/52625.html

上一篇: nodejs vs node on ubuntu 12.04

下一篇: Connect PHP and Flex Player