Impossible d'installer NodeJs: /usr/bin/env: nœud: Aucun fichier ou répertoire
Je suis en train d'installer nodeJs dans mon Ubuntu 14.04 afin d'utiliser GruntJs.
J'ai lu sur 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 obtenu 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 d'essayer à nouveau, et encore obtenir 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.
Je l'ai fait essayer un nettoyage juste au cas où:
sudo apt-get autoremove
Mais non, l'erreur est toujours là: quand je tape grunt, je reçois toujours /usr/bin/env: node: No such file or directory
Que dois-je faire?
Vous devez vous connecter pour publier un commentaire.
Trouvé la réponse. Juste au cas où il aide quelqu'un, je dois le poster ici:
Faire 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.
sudo apt-get install nodejs-legacy
crée ce lien, voir la description dans le packages.debian.org/sid/nodejs-legacysudo
avant la commande./usr/local/bin
juste pour que je me rappelle que c'est une coutume lien symbolique.ln -s /usr/local/bin/node /usr/local/bin/nodejs
pour moi... juste couruwhich node
pour trouver l'endroit approprié.which node
de sorte que vous obtenez le bon chemin d'accès à votre nœud. Donc, la commande seraitln -s "$(which node)" /usr/bin/node
Le problème n'est pas avec la version de nœud. Au lieu de cela, c'est la façon de NodeJS est installé par défaut dans Ubuntu. Lors de l'exécution d'un Nœud de l'application dans Ubuntu, vous devez exécuter
nodejs somethign.js
au lieu denode something.js
De sorte que le nom de l'application appelée dans le terminal est
nodejs
et pasnode
. C'est pourquoi il est nécessaire pour un lien symbolique vers suffit de transmettre toutes les commandes reçues quenode
ànodejs
.Je pense que vous devez mettre à jour les dernières nœud version
n
n'est pas une commande qui est associé avec Node.JS.n
commande?si vous êtes en mesure de nœud d'accès sur ubuntu terminal à l'aide de nodejs commande,alors, ce problème peut être résolu de manière simple à l'aide de
-la création d'un lien symbolique de nodejs et le nœud à l'aide de
ln -s /usr/bin/nodejs /usr/bin/node
et cela peut résoudre le problème
Dans mon cas, l'installation de nodejs-legacy résolu le problème.
Il suffit de ne
Et il va commencer à travailler.
J'ai trouvé ce qui est souvent un misnaming erreur, si vous installez à partir d'un gestionnaire de paquets vous bin peut être appelé nodejs vous avez juste besoin d'établir le lien tout comme
Si vous avez déjà nodejs installé (à vérifier avec
which nodejs
) et ne souhaitez pas installer un autre paquet, vous pouvez, en tant que root:Quand j'ai été en utilisant gulp j'ai eu cette erreur.
/usr/bin/env: ‘noeud’: Aucun fichier ou répertoire de
Cela a été supprimé par l'exécution de la commande suivante, vous devez garder à l'esprit que /usr/bin a toutes les autorisations.
ce qui fonctionne pour moi..
Tout
ln -s
est à l'évidence plus facile de réparer, un morceau d'explication:Ce conseil est en place, lors de l'installation de
sudo apt-get install nodejs
.De sorte que certains autre outil (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é sympa, si Ubuntu a offert des conseils sur la façon de résoudre ce "proprement", si pas par le faire à la main ce qu'autrement, l'emballage doit le faire. (une collision reste une collision... si+quand il allait se produire)
Il y a deux solutions à cela:
a) Définir votre variable d'environnement PATH pour inclure le répertoire "/usr/local/bin"
export PATH="$PATH:/usr/local/bin"
b) Créer un lien symbolique vers le répertoire "/usr/bin", qui est déjà dans votre CHEMIN
ln -s /usr/bin/nodejs /usr/bin/node
J'espère que cela aide.
Selon la façon dont vous avez installé votre nœud, la plupart du temps, il pourrait ne pas être dans /usr/bin/, dans mon cas il a été, j'ai utilisé nvm pour installer mon nœud a été en ./nvm/versions.
À l'aide de cette commande
which node
j'ai trouvé le chemin, mais pour rendre le travail plus facile, vous pouvez exécuter cette commande.la commande ci-dessus va obtenir l'emplacement de votre nœud et de créer un lien pour vous.
Pour mon cas, le lien ne PAS travail comme suit
Mais vous pouvez ouvrir /usr/local/bin/lessc en tant que root, et de modifier la première ligne d'un nœud à un nodejs.
Il suffit de renommer la commande ou nom de fichier
ln -s /usr/bin/nodejs /usr/bin/node
par cette commandePour moi l'on a accepté la réponse n'a pas encore de travail. J'ai commencé comme suggéré ici:
Après avoir fait cela, je recevais le message d'erreur suivant:
La solution est de télécharger la version la plus récente de nœud de https://nodejs.org/en/download/ .
Puis j'ai fait:
Maintenant la mise à jour a finalement réussi:
npm -v
changé 3.2.1 à 6.4.1Suivre ces commandes pour régler le problème.
Dans un terminal:
Nettoyer la totalité de la NGP cache:
Installer la dernière version stable de Node.js:
Maintenant la dernière version de Node.js a été installé. Vérifiez la version à l'aide: