web-dev-qa-db-fra.com

Node forever / usr / bin / env: noeud: aucun fichier ou répertoire de ce type

J'ai installé nodejs en utilisant:

apt-get install nodejs

Ensuite, j'ai installé NPM en utilisant:

apt-get install npm

Et puis j'ai installé pour toujours en utilisant:

npm install forever -g

Maintenant je vais à mon projet /var/www/myproject

et essayez de lancer forever start server.js

alors je reçois le message suivant:

/usr/bin/env: node: No such file or directory

Quelqu'un peut-il me dire ce qui se passe?

105
Marc Rasmussen

EDIT: Depuis décembre 2018, ce n'est plus la bonne façon. Voir les deux autres réponses.

Vous devez créer un lien symbolique entre l'exécutable de nodejs et le noeud Sudo ln -s "$(which nodejs)" /usr/local/bin/node. La raison en est que, lorsque vous faites "apt-get install node", il installe un paquet non lié, de sorte qu'ils doivent choisir un nom différent pour éviter conflit

269
chedabob

Alors que la réponse acceptée résout le problème, la bonne façon de le faire, au moins avec Debian Jessie et forward, et Ubuntu 14.4 et forward 1 est d’installer nodejs-legacy :

apt-get install nodejs-legacy

La raison en est que Debian avait déjà un paquet (noeud) fournissant /usr/bin/noeud , et le noeud nodejs binaire avait à installer dans/usr/bin/nodejs.

Le package nodejs-legacy fournit un lien symbolique de/usr/bin/nodejs vers/usr/bin/node (et est en conflit avec le noeud paquet).

Source: [CTTE # 614907] Résolution du conflit nœud/nœudjs et bogue Debian n ° 614907: nœud: nom en conflit avec l'interpréteur node.js

45
Clément Schreiner

C'est mieux si vous mettez à jour la dernière version du noeud

  1. Sudo npm cache clean -f
  2. Sudo npm install -g n
  3. Sudo n stable
15
Shantanu