我根据这里给出的说明在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,那么节点命令就可以工作。
当前回答
在我的例子中,我只用了这个
sudo npm cache clean -f
sudo npm install -g n
sudo n stable
这将安装一个稳定版本
那就把它做成符号链接
sudo ln -s /usr/local/bin/node
其他回答
我对这一切都很陌生,但对我来说,一个简单的别名就可以了:
alias node='env NODE_NO_READLINE=1 rlwrap nodejs'
至少对于直接在bash中运行和执行.js文件来说是这样。
如果你在AWS EC2实例上运行Ubuntu实例(在Ubuntu 16.x上测试),那么这些步骤可能对你有用:
sudo apt-get update sudo apt-get --purge remove node -y sudo apt-get --purge remove nodejs -y sudo apt-get --purge remove legacy-node -y sudo rm /usr/bin/node curl -sL https://deb.nodesource.com/setup_6.x | sudo bash - sudo apt-get install nodejs -y node -v
如果一切正确,最后一个命令应该有如下输出:v6.x.x
如果不是,那么执行以下命令:
sudo ln -s /usr/bin/nodejs /usr/bin/node
希望这能有所帮助。它神奇地帮助了我(呵呵)。
我在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
节点版本管理器(nvm)
如果你想安装多个nodejs版本,并在它们之间轻松切换,我建议使用节点版本管理器。它还解决了命名问题(node vs nodejs)
这很简单:
安装一个nodejs版本:
$ nvm install 4.4
现在你有了nodejs 4.4,除了已经安装的版本,你可以使用node命令到达新安装的版本:
$ node -v // The new version added by nvm.
v4.4.5
$ nodejs -v // The OS version is untouched and still available.
v0.10.25
你可以安装更多的nodejs版本,并在它们之间轻松切换:
$ nvm install 6.2
$ nvm use 6.2
Now using node v6.2.1 (npm v3.9.3)
$ node -v
v6.2.1
$ nvm use 4.4
Now using node v4.4.5 (npm v2.15.5)
显然不同版本的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,因为不再需要它了。