我根据这里给出的说明在ubuntu上安装了nodejs
当我在终端中写入node——version时,我看到: -bash: /usr/sbin/node:没有这样的文件或目录
不过,我可以在/usr/sbin/目录中看到node。
编写npm——版本显示为1.3.5 编写nodejs——version显示v0.10.15
此外,我可以在/usr/bin/目录中看到node。
那么,我如何让节点工作呢?
此外,如果我使用zsh而不是bash,那么节点命令就可以工作。
我根据这里给出的说明在ubuntu上安装了nodejs
当我在终端中写入node——version时,我看到: -bash: /usr/sbin/node:没有这样的文件或目录
不过,我可以在/usr/sbin/目录中看到node。
编写npm——版本显示为1.3.5 编写nodejs——version显示v0.10.15
此外,我可以在/usr/bin/目录中看到node。
那么,我如何让节点工作呢?
此外,如果我使用zsh而不是bash,那么节点命令就可以工作。
当前回答
添加到@randunel的正确答案(还不能评论SO):
我还必须将/usr/local/bin/node符号链接到/usr/bin/nodejs。
sudo ln -s /usr/bin/nodejs /usr/local/bin/node
显然,这覆盖了/usr/bin/ node命令。
不知道这是如何设置的,但希望它能帮助其他人,因为弄清楚为什么上面的方法对我不起作用是一种痛苦。
其他回答
我遇到了同样的问题,符号链接帮了我: Sudo ln -s /usr/bin/nodejs /usr/bin/node 在那之后 Sudo NPM install -g phantomjs-prebuilt
很顺利
对绝对初学者有帮助吗
虽然你已经得到了答案,但只是想指出node命令(不带任何参数)将以REPL read-eval-print-loop模式启动node以执行原始javascript代码。
使用node命令的另一种方法是提供一个js文件作为参数。这是我们最常用的方法。
这对我来说很管用:
alias node=nodejs
按照这个链接的说明操作。
显然不同版本的Ubuntu解决方案是不同的。以下是我在Ubuntu 13.10上使用的:
sudo apt-get install nodejs-legacy
HTH
编辑:经验法则:
如果你已经安装了nodejs,但缺少/usr/bin/node二进制文件,那么也要安装nodejs-legacy。这只是创建了缺少的软链接。
根据我的测试,Ubuntu 17.10及以上版本在安装了nodejs之后已经有了compatibility-softlink /usr/bin/node,所以这些版本中没有nodejs-legacy,因为不再需要它了。
只需使用NVM(节点版本管理器)- https://github.com/creationix/nvm
它已经成为管理Node.js的标准。
当你需要一个新版本时:
nvm install NEW_VER
nvm use XXX
如果出了问题,你可以随时回去
nvm use OLD_VER