Impossible d'installer NodeJs: / usr / bin/env: node: pas de tel fichier ou répertoire

j'essaie d'installer nodeJs dans mon Ubuntu 14.04 afin d'utiliser GruntJs.

j'ai lu à propos de Ubuntu manière différente de le faire ( des questions? ), donc c'est ce que j'ai fait pour l'installer:

sudo apt-get install npm

sudo npm install -g grunt-cli

tapant grunt après que j'ai eu l'erreur:

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

donc, j'ai essayé:

curl -sL https://deb.nodesource.com/setup | sudo bash -

sudo apt-get install -y nodejs

sudo apt-get update

et en essayant encore, et encore en obtenant l'erreur, j'ai essayé:

sudo add-apt-repository https://launchpad.net/~chris-lea/+archive/node.js/

sudo apt-get install -y nodejs

j'ai eu ce message:

nodejs is already the newest version.
0 to upgrade, 0 to newly install, 0 to remove and 3 not to upgrade.

j'ai essayé un nettoyage juste au cas où:

sudo apt-get autoremove

mais non, l'erreur est toujours là: quand je tape grunt j'obtiens toujours /usr/bin/env: node: No such file or directory

Que dois-je faire?

274
demandé sur KARTHIKEYAN.A 2014-10-12 05:17:44

15 réponses

a trouvé la réponse. Juste au cas où il aide quelqu'un, je le poste ici:

en Faisant un lien symbolique résout le problème: ln -s /usr/bin/nodejs /usr/bin/node (Mes remerciements et +1 vote pour bodokaiser ).

REMARQUE: je pense que ce post n'est pas une copie exacte, parce que le post était un peu une browserify question.

758
répondu Rosamunda 2017-05-23 11:47:36

Le problème n'est pas avec la version de nœud. Au lieu de cela, C'est la façon dont NodeJS est installé par défaut dans Ubuntu. Lors de l'exécution d'une application de noeud dans Ubuntu vous devez exécuter nodejs somethign.js au lieu de node something.js

donc le nom de l'application appelé dans le terminal est nodejs et non node . C'est pourquoi il est nécessaire d'avoir un lien symbolique pour simplement transmettre toutes les commandes reçues comme node à nodejs .

ln -s /usr/bin/nodejs /usr/bin/node
101
répondu Muhammad bin Yusrat 2018-05-06 20:42:36

je pense que vous devriez mettre à jour la dernière version de noeud

sudo npm cache clean -f
sudo npm install -g n
sudo n stable
43
répondu vanlan228 2014-10-12 01:26:29

si vous êtes en mesure d'accéder au noeud sur le terminal ubuntu en utilisant la commande nodejs,alors ce problème peut être simplement résolu en utilisant - création d'un lien symbolique de nodejs et de noeud en utilisant

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

et cela peut résoudre le problème

28
répondu Hiro 2017-02-09 18:10:27

dans mon cas, installation nodejs-legacy résolu le problème.

sudo apt-get install nodejs-legacy
24
répondu Suleyman Arslan 2017-02-16 22:00:38

Just do

$ sudo apt-get install nodejs-legacy

et il va commencer à fonctionner.

10
répondu Prabhu Nandan Kumar 2017-06-07 10:27:15

j'ai trouvé qu'il s'agit souvent d'une erreur de nom erroné, si vous installez à partir d'un gestionnaire de paquets, votre bin peut être appelé nodejs, donc vous avez juste besoin de symlink comme ça

ln -s /usr/bin/nodejs /usr/bin/node
9
répondu Ahmad Awais 2016-07-29 09:54:18

si vous avez déjà nodejs installé (vérifiez avec which nodejs ) et ne voulez pas installer un autre paquet, vous pouvez, en tant que root:

update-alternatives --install /usr/bin/node node /usr/bin/nodejs 99
7
répondu Tom Hale 2016-08-03 04:35:04

quand j'utilisais gulfp j'ai eu cette erreur.

~$ gulp

/usr/bin/env: ‘noeud’: Aucun fichier ou répertoire de

ceci a été supprimé en exécutant la commande suivante vous devez garder à l'esprit que le répertoire /usr/bin a toutes les permissions.

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

ça me va..

6
répondu Naveen Gupta 2017-10-26 14:54:52

alors que ln -s est la solution la plus facile, un morceau d'explication:

en raison d'un conflit avec un autre paquet, l'exécutable du Ubuntu repositories s'appelle nodejs au lieu de node. Gardez cela à l' faites attention lorsque vous utilisez un logiciel.

ce conseil apparaît lors de l'installation de sudo apt-get install nodejs .

donc un autre outil connu (Je ne sais pas ce qu'il fait. Tout en étant connu pour ubuntu dépôts, il n'est pas installé par défaut dans 16.04) occupe cet espace de noms.

aurait été agréable, si Ubuntu avait offert un conseil sur la façon de corriger ce "propre", si ce n'est en faisant à la main ce que sinon le paquet ferait. (une collision demeure une collision... si+quand il allait se produire)

4
répondu Frank Nocke 2016-10-28 14:46:50

il y a deux solutions à cela:

a) Définissez votre variable PATH pour inclure"/usr/local / bin "

export PATH="$PATH:/usr/local/bin"

B) créer un lien symbolique vers"/usr / bin "qui est déjà sur votre chemin

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

j'espère que ça aidera.

2
répondu Pavel 2018-09-28 08:47:36
sudo PATH="$PATH:/usr/local/bin" npm install -g <package-name>
1
répondu KARTHIKEYAN.A 2017-03-24 11:22:36

Pour mon cas le lien a PAS travail ainsi

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

mais vous pouvez ouvrir/usr/local/bin / lessc comme root, et changer la première ligne du noeud à nodejs.

-#!/usr/bin/env nœud

+#!/usr/bin / env nodejs

1
répondu Tanvir Ahmad 2017-12-08 11:00:16

vient de renommer la commande ou le nom de fichier ln -s /usr/bin/nodejs /usr/bin/node par cette commande

0
répondu Shalauddin Ahamad Shuza 2018-04-29 19:44:12

selon la façon dont vous avez installé votre noeud, la plupart du temps il pourrait ne pas être dans /usr/bin/, dans mon propre cas, il était que j'ai utilisé nvm pour installer donc mon noeud était dans ./nvm / versions.

en utilisant cette commande which node j'ai trouvé le chemin, mais pour faciliter le travail vous pouvez exécuter cette commande.

nodepath=$(which node); sudo ln -s $nodepath /usr/bin/node

la commande ci-dessus va obtenir l'emplacement de votre noeud et créer un lien pour vous.

0
répondu akisoft 2018-06-03 00:40:31