我根据这里给出的说明在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

其他回答

您需要手动创建一个符号链接/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

安装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

对绝对初学者有帮助吗

虽然你已经得到了答案,但只是想指出node命令(不带任何参数)将以REPL read-eval-print-loop模式启动node以执行原始javascript代码。

使用node命令的另一种方法是提供一个js文件作为参数。这是我们最常用的方法。

我想是这样的:

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及以上版本在安装了nodejs之后已经有了compatibility-softlink /usr/bin/node,所以这些版本中没有nodejs-legacy,因为不再需要它了。