386

我根据此处给出的说明在 ubuntu 上安装了 nodejs

当我在终端中写信node --version时,我看到了:
-bash: /usr/sbin/node: No such file or directory

/usr/sbin/不过,我可以在目录中看到节点。

写作npm --version节目1.3.5
写作nodejs --version节目v0.10.15

/usr/bin/另外,我可以在目录中看到节点。

那么,我该如何开始node工作?

此外,如果我使用zsh而不是 bash,则node命令有效。

4

20 回答 20

608

您需要手动创建符号链接/usr/bin/node。bash 兼容 shell 的快捷方式:

sudo ln -s `which nodejs` /usr/bin/node

或者,如果您使用非标准外壳,只需硬编码您找到的路径which nodejs

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

稍后编辑

我在您发布的链接中找到了这个解释

与 node 包(Amateur Packet Radio Node Program)存在命名冲突,nodejs 二进制文件已从 node 重命名为 nodejs。您需要将 /usr/bin/node 符号链接到 /usr/bin/nodejs 或者您可以卸载业余分组无线电节点程序以避免这种冲突。

稍后稍后编辑

我已经有一段时间没有回答这个问题了。尽管我在这里发布的解决方案多次为我工作,但用户在评论中报告了更多解决方案:

来自@user229115

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

来自 AskUbuntu(用户 leftium)

sudo apt-get --purge remove node
sudo apt-get --purge remove nodejs
sudo apt-get install nodejs
于 2013-08-08T15:39:28.397 回答
90

我觉得这就是:

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

使用 Debian 替代品。

于 2013-12-30T18:14:51.607 回答
68

显然,解决方案在 Ubuntu 版本之间有所不同。以下在 Ubuntu 13.10 上为我工作:

sudo apt-get install nodejs-legacy

高温高压

编辑:经验法则:

如果您已安装nodejs但缺少/usr/bin/node二进制文件,则还要安装nodejs-legacy. 这只会创建缺少的软链接。

根据我的测试,Ubuntu 17.10 及更高版本/usr/bin/node在安装后已经有了兼容性软链接nodejs,因此nodejs-legacy这些版本中缺少它,因为不再需要它。

于 2014-01-05T02:23:45.950 回答
30

我在 Ubuntu 14.04 中遇到了同样的问题。

我已经安装了“nodejs”并且它正在工作,但前提是我使用命令“nodejs”。如果我尝试使用“节点”,什么都不会发生。

我通过以下方式解决了这个问题:

  1. 安装 nodejs-legacy

    sudo apt-get install nodejs-legacy

之后,当我在命令行中键入“node”时,我收到一条错误消息“/usr/sbin/node:没有这样的文件或目录”

  1. 其次,我所做的,它是“nodejs”上的符号链接:

    sudo ln -s /usr/bin/nodejs /usr/sbin/node
于 2014-09-10T20:54:53.390 回答
12

节点版本管理器 (nvm)

如果您想安装多个 nodejs 版本并在它们之间轻松切换,我建议使用Node Version Manger。它还解决了命名问题(nodevs 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)
于 2016-06-03T10:49:25.430 回答
11

这也发生在我身上。

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

于 2016-01-28T05:33:47.113 回答
10

我对这一切都很陌生,但对我来说,一个简单的别名有效:

alias node='env NODE_NO_READLINE=1 rlwrap nodejs'

至少用于直接在 bash 中运行并执行 .js 文件。

于 2014-07-11T22:15:01.153 回答
9

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

对于 v7:

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

对于 v6:

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。

如果您计划安装需要构建的本机 npm 模块,请同时运行:

sudo apt install -y build-essential

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

于 2016-10-03T17:40:45.260 回答
7

添加到@randunel 的正确答案(尚无法评论 SO):

我还必须将 /usr/local/bin/node 符号链接到 /usr/bin/nodejs 。

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

显然,这是覆盖 /usr/bin/ node 命令。

不知道这是如何设置的,但希望它对其他人有所帮助,因为弄清楚为什么上述内容对我不起作用是一件很痛苦的事情。

于 2014-07-16T20:24:29.587 回答
7

迟到的答案,但要获得最新信息......

如果您使用node github 安装自述文件中的推荐方法安装 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 的,在不久的将来可能会变得过时。

此外,如果您使用公司代理(如我),您需要在 sudo 命令中添加 -E 选项,以保留代理所需的环境变量:

curl -sL https://deb.nodesource.com/setup_0.12 | sudo -E bash -

于 2015-05-29T13:51:27.657 回答
7

这对我有用:

alias node=nodejs

按照链接中的说明进行操作后。

于 2016-04-05T12:41:47.890 回答
4

如果您在运行 Ubuntu 实例(在 Ubuntu 16.x 上测试)的 AWS EC2 实例上,那么这些步骤可能对您有用:

    sudo apt-get 更新
    sudo apt-get --purge 删除节点 -y
    sudo apt-get --purge 删除 nodejs -y
    sudo apt-get --purge 删除 legacy-node -y
    sudo rm /usr/bin/node
    curl -sL https://deb.nodesource.com/setup_6.x | 须藤重击 -
    sudo apt-get install nodejs -y
    节点-v

如果一切正确,最后一个命令应具有如下输出:v6.xx

如果没有,则运行以下命令:

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

希望这会有所帮助。它神奇地帮助了我(呵呵)。

于 2017-01-02T15:04:06.053 回答
3

我有同样的问题符号链接帮助我: sudo ln -s /usr/bin/nodejs /usr/bin/node 之后 sudo npm install -g phantomjs-prebuilt

顺利进行

于 2016-08-26T10:29:01.710 回答
2

安装 nodejs 的最佳方式是通过 NVM(节点版本管理器)

删除以前的版本:

$ sudo apt-get 清除节点
$ sudo apt 自动删除

$ sudo rm -rf node_modules同时删除包含此文件夹的目录中的所有 node_modules 。

Node 和 Nodejs 在技术上是一样的。只是名字变了。

首先安装或更新 nvm

以 root 身份运行

$须藤苏

然后

$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.7/install.sh | 重击

或者

$ wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.31.7/install.sh | 重击

检查 nvm 到路径

$ 源 ~/.profile
$ nvm ls-远程

如果您收到有关列表的错误,请安装 git。

$ sudo apt-get 安装 git

重新运行:

$ nvm ls-远程
或者
$ sudo nvm ls-remote

$ nvm install version-you-require

检查版本

# 节点--版本
nvm 使用你需要的版本

信息礼貌:

https://www.digitalocean.com/community/tutorials/how-to-install-node-js-with-nvm-node-version-manager-on-a-vps

于 2016-09-11T17:44:55.370 回答
1

我创建了一个符号链接,但它仍然无法正常工作。

我忘了重新启动我的终端(我的腻子连接)。在我没有符号链接的情况下工作之后:)

于 2015-02-08T16:57:01.737 回答
1

将对绝对初学者有所帮助

虽然,您已经得到了答案,只是想指出该node命令(不带任何参数)将以 REPL读取-评估-打印-循环模式启动节点以执行原始 javascript 代码。

使用node命令的另一种方法是提供一个js文件作为参数。这就是我们主要使用它的方式。

于 2016-10-06T07:41:46.457 回答
1

只需使用 NVM(节点版本管理器) - https://github.com/creationix/nvm

它已成为管理 Node.js 的标准。

当您需要新版本时:

nvm install NEW_VER
nvm use XXX

如果出现问题,您可以随时返回

nvm use OLD_VER
于 2018-03-06T01:06:49.053 回答
1

您可以执行此命令来启用 nodejs:

scl enable rh-nodejs8 bash

注意:检查您的节点版本。

来源: https ://developers.redhat.com/products/softwarecollections/hello-world/

于 2018-06-11T14:49:23.293 回答
1

https://nodejs.org/en/download/

Download .pkg file on your mac and install it. it directly works.

➜  ~ which node
/usr/local/bin/node
➜  ~ node --version
v10.11.0
➜  ~ which npm
/usr/local/bin/npm
➜  ~ npm --version
6.4.1
于 2018-09-28T17:26:47.967 回答
0

删除现有的 node 和 nodejs 是可选的,但必须安装最新的 7.x nodejs。

curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
sudo apt-get install -y nodejs
于 2017-02-23T16:28:09.397 回答