node: comando não encontrado

42

Não entendo por que o comando node não funcionará, enquanto nodejs funciona:

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

Eu tentei apt-get install nodejs , mas a versão mais recente já está instalada.

E além disso:

$ npm
zsh: command not found: npm

Eu achei que npm foi incluído no NodeJS & gt; 0,10?

    
por Matthieu Napoli 13.01.2014 / 18:48

7 respostas

39

O pacote node não está relacionado ao NodeJS. Consulte aqui para obter informações sobre o nó :

  

Programa Amador de Nó de Pacote de Rádio (pacote de transição)

Você deve, em vez disso, instalar o nodejs pacote.

sudo apt-get install nodejs

use-o com o comando nodejs .

O motivo node não funciona devido a conflitos com o pacote node original vinculado acima.

Se você quiser npm , você terá que instalar também.

sudo apt-get install npm
    
por kiri 13.01.2014 / 23:50
40

Concordo, isso é um problema, mas não sei por que isso está acontecendo.

A correção

Primeiramente, apenas crie um link simbólico chamado node apontando para o nodejs binário.

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

O problema

Alguns guias que encontrei para instalar o Nodejs ( aqui e aqui ) todos têm código semelhante para testar se a instalação ocorreu corretamente. Então, essencialmente, crie um servidor simples da seguinte forma:

// 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/');

e depois executá-lo em nodejs com o seguinte:

node hello_node.js

E quando eu estava tentando usar o npm para instalar algo, ele estava falhando e reportando a mesma mensagem node not found .

    
por jlouzado 08.09.2014 / 18:04
26

Como @ minerz029 já disse que há um conflito com o pacote node . Mas se você ainda precisar do comando node (porque um script usa apenas node , por exemplo), a maneira correta é instalar o nodejs-legacy pacote:

apt-get install nodejs-legacy

e não criar um symlink por conta própria (especialmente não em /usr/bin/ ). Isso fornecerá um comando node para o nodejs.

    
por F.Raab 27.05.2016 / 14:49
1

você pode precisar instalar manualmente

sudo apt-get install npm
    
por Ahmed Al-battashi 13.01.2014 / 18:57
1

Tente isso

curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -

sudo apt-get install -y nodejs

:)

    
por MUHASIN BABU 29.07.2017 / 12:08
0

Uma correção rápida para nvm usuários. Eu uso nvm (gerenciador de versões do nó) e para eu usar o comando npm eu sempre devo emitir antes de npm este comando nvm use 0.x (substitua 0.x por 0.11 ou 0.10 por exemplo, o versão que você deseja usar).

    
por Karl Morrison 19.03.2015 / 00:51
0

Como o minerz029 já mencionou , algumas versões do pacote nodejs não fornecem o binário node devido a outro pacote que usava anteriormente esse nome. A solução é tão simples quanto seguir as etapas de instalação no próprio site do Node:

Instalando o Node.js através do gerenciador de pacotes | Distribuições Linux baseadas no Debian e no Ubuntu

No momento, essas etapas são:

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

Mas seria melhor verificar o link da fonte para verificar se você está usando a versão mais recente.

    
por bmaupin 23.11.2017 / 20:02