node:找不到命令
我不明白为什么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?
node
包与NodeJS无关。 有关节点的信息,请参见此处 :
业余分组无线节点程序(过渡包)
您应该安装nodejs
包。
sudo apt-get install nodejs
然后将它与nodejs
命令一起使用。
原因node
不起作用可能是因为与上面链接的原始node
包冲突。
如果你想要npm
,你也必须安装它。
sudo apt-get install npm
我同意,这是一个问题,但我不知道为什么会这样。
修复
首先,只需从被称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
消息。
就像@ minerz029已经说过与node
包有冲突。 但是,如果您仍然需要node
命令(例如,因为脚本仅使用node
),正确的方法是安装nodejs-legacy
软件包:
apt-get install nodejs-legacy
而不是自己创建一个符号链接(特别是在/usr/bin/
)。 这将为nodejs提供node
命令。
你可能需要手动安装
sudo apt-get install npm
试试这个
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash - sudo apt-get install -y nodejs
🙂
nvm
用户的快速修复。 我使用nvm
(节点版本管理器)并且对我来说使用npm
命令我必须始终在npm
之前发出这个命令nvm use 0.x
( 0.x
用0.11
或0.10
替换0.x
,你想要使用的版本)。
正如minerz029已经提到的 ,由于之前使用该名称的另一个包,某些版本的nodejs
包将不提供node
二进制文件。 解决方案就像遵循Node自己的网站上的installatoin步骤一样简单:
通过包管理器安装Node.js. 基于Debian和Ubuntu的Linux发行版
目前,这些步骤是:
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash - sudo apt-get install -y nodejs
但最好检查源链接以确保您使用的是最新版本。