我根据这里给出的说明在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,那么节点命令就可以工作。


当前回答

如何使用nodejs网站上的官方说明:

v7中:

curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
sudo apt-get install -y nodejs

版本6:

curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install -y nodejs

v4的:

curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
sudo apt-get install -y nodejs

我已经从Windows bash(通过Linux子系统- 14.04)和raspbian(基于ARM Debian)测试了这些。运行sudo apt-get install -y nodejs而不首先运行安装脚本将导致您获得节点0.10。

如果你打算安装需要build的原生npm模块,也可以运行:

sudo apt install -y build-essential

注意:这是跨所有架构的任何基于Debian的发行版的推荐路径。

其他回答

我创建了一个符号链接,但它仍然不起作用。

我忘记重新启动我的终端(我的putty连接)。在我有它的工作没有符号链接:)

这种情况也发生在我身上。

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的包工作。

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

在我的例子中,我只用了这个

sudo npm cache clean -f

sudo npm install -g n

sudo n stable

这将安装一个稳定版本

那就把它做成符号链接

sudo ln -s  /usr/local/bin/node

我想是这样的:

sudo update-alternatives --install /usr/bin/node node /usr/bin/nodejs 10

使用Debian替代方案。