我根据这里给出的说明在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,那么节点命令就可以工作。
当前回答
我在Ubuntu 14.04中也有同样的问题。
我已经安装了“nodejs”,它正在工作,但前提是我使用命令“nodejs”。如果我尝试使用node,什么都不会发生。
我修复了这个问题在接下来的方式:
安装nodejs-legacy Sudo apt-get install nodejs-legacy
之后,当我在命令行中键入“节点”时,我得到一个错误消息“/usr/sbin/节点:没有这样的文件或目录”
其次,我所做的是在“nodejs”上添加一个符号链接: Sudo ln -s /usr/bin/nodejs /usr/sbin/node
其他回答
我创建了一个符号链接,但它仍然不起作用。
我忘记重新启动我的终端(我的putty连接)。在我有它的工作没有符号链接:)
使用实例启用nodejs:
scl enable rh-nodejs8 bash
注意:检查节点版本。
来源: https://developers.redhat.com/products/softwarecollections/hello-world/
迟到的回答,但最新的信息…
如果您使用node github安装自述me中的推荐方法安装node.js,建议遵循nodesource博客文章中的说明,而不是从过期的apt-get repo安装,node.js应该使用node命令和nodejs命令运行,而不必创建新的符号链接。
文中的方法是:
# Note the new setup script name for Node.js v0.12
curl -sL https://deb.nodesource.com/setup_0.12 | sudo bash -
# Then install with:
sudo apt-get install -y nodejs
请注意,这是针对v0.12的,在不久的将来,v0.12可能会过时。
另外,如果你使用的是公司代理(就像我一样),你需要在sudo命令中添加-E选项,以保留代理所需的env vars:
curl - sl https://deb.nodesource.com/setup_0.12 | sudo - e bash - .
显然不同版本的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,因为不再需要它了。
这种情况也发生在我身上。
node -v => 0.10.2
nodejs -v => 5.5.0
问题是我在一段时间前已经从源代码安装了节点。运行
which node
总是指向这个本地安装。同时,
echo NODE_PATH
指向本地安装。
删除带有源安装的目录没有帮助。它只是破坏了节点命令。最后,取消设置NODE_PATH环境变量并清除然后重新安装nodejs就达到了目的。
unset NODE_PATH
sudo apt-get --purge remove nodejs
sudo apt-get install nodejs
在这之后,
node -v => 5.5.0
npm install开始为依赖Node => 5.0的包工作。