节点:未找到命令

节点:未找到命令

我不明白为什么该node命令不起作用,而却nodejs起作用:

$ node --version
zsh: command not found: node
$ nodejs --version
v0.10.15

我试过了apt-get install nodejs,但最新版本已经安装。

此外:

$ npm
zsh: command not found: npm

我以为npm它包含在 NodeJS > 0.10 中?

答案1

我同意,这是一个有点问题,但我不知道为什么会发生这种情况。

修复

首先,创建一个指向二进制文件的符号node链接nodejs

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

问题

我找到了不少关于安装 Nodejs 的指南(这里这里) 都有类似的代码来测试安装是否正确。因此,基本上可以创建一个简单的服务器,如下所示:

// hello_node.js
var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello Node.js\n');
}).listen(8124, "127.0.0.1");
console.log('Server running at http://127.0.0.1:8124/');

然后使用以下命令在 nodejs 中运行它:

node hello_node.js

然后,当我尝试使用 npm 安装某些东西时,它失败了并报告相同的node not found消息。

答案2

node软件包与 NodeJS 无关。有关信息请参阅此处节点安装节点

业余分组无线电节点计划(过渡计划)


你应该安装nodejs 安装 nodejs包裹。

sudo apt-get install nodejs

然后与命令一起使用nodejs

node不起作用的原因很可能是因为与node上面链接的原始包冲突。


如果你想npm 安装 npm,您也必须安装它。

sudo apt-get install npm

答案3

就像@minerz029 已经说过的那样,与软件包存在冲突node。但是如果您仍然需要该node命令(因为脚本仅使用node示例),正确的方法是安装nodejs-legacy包裹:

apt-get install nodejs-legacy

并且不要自行创建符号链接(尤其是在 中/usr/bin/)。这将为nodenodejs 提供一个命令。

答案4

您可能需要手动安装

sudo apt-get install npm

相关内容