我不明白为什么该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
答案3
就像@minerz029 已经说过的那样,与软件包存在冲突node
。但是如果您仍然需要该node
命令(因为脚本仅使用node
示例),正确的方法是安装nodejs-legacy
包裹:
apt-get install nodejs-legacy
并且不要自行创建符号链接(尤其是在 中/usr/bin/
)。这将为node
nodejs 提供一个命令。
答案4
您可能需要手动安装
sudo apt-get install npm