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 安装nodejs 包。

 sudo apt-get install nodejs 

然后将它与nodejs命令一起使用。

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


如果你想要npm 安装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.x0.x0.110.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 

但最好检查源链接以确保您使用的是最新版本。