我根据这里给出的说明在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,那么节点命令就可以工作。
当前回答
如果你在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
希望这能有所帮助。它神奇地帮助了我(呵呵)。
其他回答
安装nodejs的最佳方式是通过NVM(节点版本管理器)
删除以前的版本:
$ sudo apt-get purge node
$ sudo apt autoremove
同时删除包含该文件夹的目录下的所有node_modules by $ sudo rm -rf node_modules。
Node和Nodejs在技术上是一样的。只是名字变了。
首先安装或更新nvm
以root用户运行$ sudo su
Then
$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.7/install.sh | bash
OR
$ wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.31.7/install.sh | bash
检查nvm to path
$ source ~/.profile
$ nvm ls-remote
如果你得到关于清单的错误,然后安装git。
$ sudo apt-get install git
重新运行:
nvm ls遥控器还是sudo nvm l遥控器
$ nvm install version-you-require
检查版本
# node --version
nvm use version-you-require
信息提供:https://www.digitalocean.com/community/tutorials/how-to-install-node-js-with-nvm-node-version-manager-on-a-vps
您需要手动创建一个符号链接/usr/bin/node。bash兼容shell的快捷方式:
sudo ln -s `which nodejs` /usr/bin/node
或者如果你使用非标准shell,只需硬编码你找到的nodejs路径:
sudo ln -s /usr/bin/nodejs /usr/bin/node
后编辑
我在你发布的链接中找到了这个解释
与节点包(业余分组无线电节点程序)命名冲突,nodejs二进制文件已从node重命名为nodejs。你需要将/usr/bin/node链接到/usr/bin/nodejs,或者你可以卸载业余分组无线节点程序来避免这种冲突。
稍后稍后编辑
我已经有一段时间没有回答这个问题了。虽然我在这里发布的解决方案对我有用过几次,但用户在评论中报告了更多的解决方案:
从@user229115
—install /usr/bin/node node /usr/bin/nodejs
来自 AskUbuntu (用户左)
sudo apt-get --purge remove node
sudo apt-get --purge remove nodejs
sudo apt-get install nodejs
对绝对初学者有帮助吗
虽然你已经得到了答案,但只是想指出node命令(不带任何参数)将以REPL read-eval-print-loop模式启动node以执行原始javascript代码。
使用node命令的另一种方法是提供一个js文件作为参数。这是我们最常用的方法。
我对这一切都很陌生,但对我来说,一个简单的别名就可以了:
alias node='env NODE_NO_READLINE=1 rlwrap nodejs'
至少对于直接在bash中运行和执行.js文件来说是这样。
添加到@randunel的正确答案(还不能评论SO):
我还必须将/usr/local/bin/node符号链接到/usr/bin/nodejs。
sudo ln -s /usr/bin/nodejs /usr/local/bin/node
显然,这覆盖了/usr/bin/ node命令。
不知道这是如何设置的,但希望它能帮助其他人,因为弄清楚为什么上面的方法对我不起作用是一种痛苦。