Nœud à jamais /usr/bin/env: nœud: Aucun fichier ou répertoire

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 d'exécuter forever start server.js

Ensuite, 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?

103
demandé sur chedabob 2015-05-17 00:41:29

3 réponses

Vous devez lier symboliquement l'exécutable nodejs au 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é, donc ils ont dû choisir un nom différent pour ne pas entrer en conflit avec

265
répondu chedabob 2017-01-15 10:04:58

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 forward1 est d'installer NodeJS-legacy :

apt-get install nodejs-legacy

La raison en est que Debian avait déjà un paquet (node) fournissant /usr/bin/node, et le binaire nodejs node devait être installé dans /usr/bin/nodejs.

Le PaquetNodeJS-legacy fournit un lien symbolique entre / usr / bin / nodejs et/usr/bin / node (et est en conflit avec le paquet node ).

Source: [CTTE #614907] résolution du conflit node / nodejs et bogue Debian #614907: node: conflits de nom avec node.js interprète

45
répondu Clément Schreiner 2016-06-02 07:57:44

C'est mieux si vous mettez à jour vers la dernière version du nœud

  1. sudo npm cache clean-f
  2. sudo npm install-g n
  3. sudo n stable
10
répondu Shantanu 2016-01-19 10:57:44