node: commande introuvable

41

Je ne comprends pas pourquoi la commande node ne fonctionnera pas, alors que nodejs fonctionne:

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

J'ai essayé apt-get install nodejs , mais la dernière version est déjà installée.

Et de plus:

$ npm
zsh: command not found: npm

Je pensais que npm était inclus dans NodeJS & gt; 0,10?

    
posée Matthieu Napoli 13.01.2014 - 18:48
la source

7 réponses

39

Le package node n’est pas lié à NodeJS. Voir ici pour plus d'informations sur noeud :

  

Programme de nœud radio amateur en paquets (paquet de transition)

Vous devriez plutôt installer le nodejs package.

sudo apt-get install nodejs

alors utilisez-le avec la commande nodejs .

La raison pour laquelle node ne fonctionne pas est probablement due à des conflits avec le package node d'origine lié ci-dessus.

Si vous voulez npm , vous devrez également l’installer.

sudo apt-get install npm
    
réponse donnée kiri 13.01.2014 - 23:50
la source
40

Je suis d’accord, c’est un problème, mais je ne sais pas pourquoi cela se produit.

Le correctif

Tout d'abord, créez simplement un lien symbolique appelé node pointant vers le binaire nodejs .

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

Le problème

Quelques guides pour l’installation de Nodejs ( ici) et ici ) ont tous un code similaire pour vérifier si l’installation s’est bien déroulée. Donc, essentiellement, créez un serveur simple comme celui-ci:

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

puis exécutez-le dans nodejs avec les éléments suivants:

node hello_node.js

Et puis, lorsque j'essayais d'utiliser npm pour installer quelque chose, cela échouait et signalait le même message node not found .

    
réponse donnée jlouzado 08.09.2014 - 18:04
la source
26

Comme @ minerz029 déjà dit, il y a un conflit avec le package node . Mais si vous avez toujours besoin de la commande node (car un script utilise uniquement node par exemple), la méthode correcte consiste à installer package nodejs-legacy :

apt-get install nodejs-legacy

et ne créez pas de lien symbolique par vous-même (surtout pas dans /usr/bin/ ). Cela fournira une commande node pour nodejs.

    
réponse donnée F.Raab 27.05.2016 - 14:49
la source
1

pouvez-vous avoir besoin d'installer manuellement

sudo apt-get install npm
    
réponse donnée Ahmed Al-battashi 13.01.2014 - 18:57
la source
1

Essayez ceci

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

sudo apt-get install -y nodejs

:)

    
réponse donnée MUHASIN BABU 29.07.2017 - 12:08
la source
0

Une solution rapide pour les utilisateurs de nvm . J'utilise nvm (gestionnaire de versions de nœuds) et pour utiliser la commande npm , je dois toujours émettre avant npm cette commande nvm use 0.x (remplacer 0.x par 0.11 ou 0.10 par exemple, le version que vous souhaitez utiliser).

    
réponse donnée Karl Morrison 19.03.2015 - 00:51
la source
0

Comme minz029 l’a déjà mentionné , certaines versions du package nodejs ne fourniront pas le fichier binaire node dû à un autre paquet utilisant précédemment ce nom. La solution est aussi simple que de suivre les étapes d'installation sur le site Web de Node:

Installer Node.js via le gestionnaire de paquets | Distributions Linux basées sur Debian et Ubuntu

En ce moment, ces étapes sont:

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

Mais il serait préférable de vérifier le lien source pour s’assurer que vous utilisez la dernière version.

    
réponse donnée bmaupin 23.11.2017 - 20:02
la source

Lire d'autres questions sur les étiquettes