web-dev-qa-db-fra.com

erreur browserify/usr/bin/env: noeud: aucun fichier ni répertoire de ce type

J'ai installé les nœuds js et npm via apt-get install et toutes les dépendances, puis j'ai installé browserify 

npm install browserify -g

il passe par le processus et on dirait qu'il a été installé correctement, mais lorsque j'essaie de faire un simple paquet selon cette procédure

Je reçois l'erreur:

/ usr/bin/env: node: aucun fichier ou répertoire de ce type 

enter image description here

85
Eduardo Dennis

Vous pouvez également installer Nodejs à l'aide de NVM ou Nodejs Version Manager. Il y a beaucoup de avantages à utiliser un gestionnaire de versions. L'un d'eux est que vous n'avez pas à vous soucier de ce problème. 


Instructions:


Sudo apt-get update
Sudo apt-get install build-essential libssl-dev

Une fois les packages prérequis installés, vous pouvez extraire le script d'installation nvm à partir de la page GitHub du projet. Le numéro de version peut être différent, mais en général, vous pouvez le télécharger et l'installer avec la syntaxe suivante:

curl https://raw.githubusercontent.com/creationix/nvm/v0.16.1/install.sh | sh

Cela va télécharger le script et l'exécuter. Il installera le logiciel dans un sous-répertoire de votre répertoire personnel à ~/.nvm. Il ajoutera également les lignes nécessaires à votre fichier ~/.profile pour utiliser le fichier.

Pour accéder à la fonctionnalité nvm, vous devez vous déconnecter et vous reconnecter, ou vous pouvez créer le fichier ~/.profile afin que votre session actuelle connaisse les modifications:

source ~/.profile

Maintenant que vous avez installé nvm, vous pouvez installer des versions isolées de Node.js.

Pour connaître les versions de Node.js disponibles pour l'installation, vous pouvez taper:

nvm ls-remote
. . .

v0.11.10
v0.11.11
v0.11.12
v0.11.13
v0.11.14

Comme vous pouvez le constater, la version la plus récente au moment de l'écriture est la v0.11.14. Vous pouvez l'installer en tapant:

nvm install 0.11.14

Normalement, NVM utilisera la dernière version installée. Vous pouvez explicitement dire à nvm d’utiliser la version que nous venons de télécharger en tapant:

nvm use 0.11.14

Lorsque vous installez Node.js à l’aide de nvm, l’exécutable s’appelle nœud. Vous pouvez voir la version actuellement utilisée par le shell en tapant:

node -v

Le tutoriel comeplete peut être trouvé ici

7
Eduardo Dennis

Certaines distributions linux installent nodejs non pas en tant que "noeud" exécutable mais en tant que "nodejs".

Dans ce cas, vous devez vous lier manuellement à "noeud" car de nombreux paquets sont programmés après le binaire "noeud". Quelque chose de similaire se produit également avec "python2" non lié à "python".

Dans ce cas, vous pouvez créer un lien symbolique simple. Pour les distributions Linux qui installent les fichiers binaires du paquet sur /usr/bin, vous pouvez le faire.

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

Nouvelle réponse:

  1. Désinstallez tout paquet nodejs que vous avez installé via votre gestionnaire de paquets système (dnf, apt-get, etc.), supprimez tout lien symbolique idiot que vous avez recréé chaque mise à jour (lol).
  2. Installez NVM,
  3. utilisez nvm pour installer nodejs: nvm install 6

Ancienne réponse:

Toute discussion sur la création de liens symboliques ou l'installation d'un autre paquet de nœuds est fallacieuse et non durable.

La bonne façon de résoudre ceci est de:

  1. installez simplement le paquet nodejs avec apt-get comme vous l'avez déjà fait
  2. utilisez update-alternatives pour indiquer que votre binaire nodejs est responsable de #!/usr/bin/env node

Ainsi : 

Sudo apt-get install nodejs
Sudo update-alternatives --install /usr/bin/node nodejs /usr/bin/nodejs 100

Cela devient maintenant durable lors des mises à niveau, des mises à niveau, etc.

52
airtonix

Exécutez apt-get install nodejs-legacy.

Certaines distributions Linux ont changé le nom binaire de node.js, le rendant compatible avec de nombreux packages node.js. Le paquet nodejs-legacy fournit un lien symbolique pour résoudre ce problème.

35
alex
Sudo apt-get install nodejs-legacy

Cela crée le lien symbolique /usr/bin/node -> nodejs.

Source: https://lists.debian.org/debian-devel-announce/2012/07/msg00002.html

3
kamikater

Je semble avoir le même problème lorsque je construis atome sous Linux.

Sudo apt-get install nodejs-dev

Corrigez ma question. J'espère vous être utile.

0
kangear
  1. lancer la commande which node le résultat sera quelque chose

    /home/moh/.nvm/versions/node/v8.9.4/bin/node

  2. Copiez le chemin que vous avez obtenu ci-dessus, puis exécutez la commande à l'étape 3.

  3. ln -s /home/moh/.nvm/versions/node/v8.9.4/bin/node /usr/bin/node

0
Rifaideen

Vous devez appeler "nodejs" et non pas "node". Pour vérifier cela, tapez node -v sur le shell: si rien n’est trouvé, essayez nodejs -v. Si cela affiche un numéro de version, la commande à utiliser est nodejs et non node. Par conséquent, vous devez modifier l'appel de browserify dans votre script de node à nodejs (comme indiqué ci-dessous): replace

#!/usr/bin/env node

avec

#!/usr/bin/env nodejs

Vous devrez peut-être également ouvrir le script en tant que superutilisateur.

0
user51324

Si vous ne voulez pas créer de lien symbolique, vous pouvez le faire ..___ fonctionne dans Ubuntu

#!/usr/local/bin/node --harmony

balise Harmony est pour la nouvelle harmonie ECMAscript

0
user2290820