J'ai installé nodejs sur Ubuntu à partir des instructions données ici
Quand j'écris node --version
dans le terminal, je vois ceci: -bash: /usr/sbin/node: No such file or directory
Je peux voir noeud dans le répertoire /usr/sbin/
, cependant.
L'écriture de npm --version
montre 1.3.5
L'écriture nodejs --version
montre v0.10.15
En outre, je peux voir le noeud dans le répertoire /usr/bin/
.
Alors, comment puis-je faire fonctionner node
?
De plus, si j'utilise zsh au lieu de bash, la commande node
fonctionne.
Vous devez créer manuellement un lien symbolique /usr/bin/node
. Raccourci pour les coques compatibles bash:
Sudo ln -s `which nodejs` /usr/bin/node
Ou si vous utilisez des shells non standard, indiquez simplement le chemin que vous trouvez avec which nodejs
:
Sudo ln -s /usr/bin/nodejs /usr/bin/node
Éditer plus tard
J'ai trouvé cette explication dans le lien que vous avez posté
Il y a un conflit de nommage avec le paquet de noeud (Amateur Packet Radio Node Program) et le fichier binaire de nodejs a été renommé de noeud à noeudjs. Vous aurez besoin de lier symboliquement/usr/bin/node à/usr/bin/nodejs ou de désinstaller le programme Amateur Packet Radio Node pour éviter ce conflit.
Plus tard plus tard éditer
Cela fait longtemps que je n'ai pas répondu à cette question. Bien que la solution que j'ai publiée ici ait fonctionné plusieurs fois pour moi, les utilisateurs ont signalé quelques solutions supplémentaires dans les commentaires:
De @ user229115
Sudo update-alternatives --install /usr/bin/node node /usr/bin/nodejs 10
De AskUbuntu (utilisateur leftium)
Sudo apt-get --purge remove node
Sudo apt-get --purge remove nodejs
Sudo apt-get install nodejs
Je pense que c'est ça:
Sudo update-alternatives --install/usr/bin/node node/usr/bin/nodejs 10.
Utiliser les alternatives Debian.
Apparemment, la solution diffère selon les versions d’Ubuntu. La suite a fonctionné pour moi sur Ubuntu 13.10:
Sudo apt-get install nodejs-legacy
HTH
Edit: Règle de base:
Si vous avez installé nodejs
mais que le binaire /usr/bin/node
est manquant, installez également nodejs-legacy
. Ceci crée simplement le lien manquant.
D'après mes tests, Ubuntu 17.10 et les versions ultérieures ont déjà le lien symbolique-compatibilité /usr/bin/node
en place après que nodejs
est installé. Donc, nodejs-legacy
est absent de ces versions car il n'est plus nécessaire.
J'ai le même problème dans Ubuntu 14.04.
J'ai installé "nodejs" et cela fonctionne, mais seulement si j'utilise la commande "nodejs". Si j'essaie d'utiliser "noeud", rien ne se passe.
J'ai résolu ce problème de la manière suivante:
Installer nodejs-legacy
Sudo apt-get installez nodejs-legacy
Après cela, lorsque je tape "noeud" dans la ligne de commande, un message d'erreur "/ usr/sbin/noeud: aucun fichier ni répertoire de ce type" ne s'affiche.
Deuxièmement, ce que j'ai fait, c'est un lien symbolique sur "nodejs":
Sudo ln -s/usr/bin/nodejs/usr/sbin/node
Cela m'est arrivé aussi.
node -v => 0.10.2
nodejs -v => 5.5.0
Le problème était que j'avais installé le noeud à partir de la source il y a quelque temps. Fonctionnement
which node
toujours pointé sur cette installation locale. Également,
echo NODE_PATH
a souligné l'installation locale.
la suppression du répertoire avec l'installation source n'a pas aidé. Il vient de briser la commande de noeud. En fin de compte, désélectionner la variable d'environnement NODE_PATH et purger puis réinstaller nodejs ont tout réglé.
unset NODE_PATH
Sudo apt-get --purge remove nodejs
Sudo apt-get install nodejs
Après ça,
node -v => 5.5.0
et npm install a commencé à fonctionner pour les paquets dépendant de Node => 5.0.
Je suis nouveau à tout cela, mais pour moi un simple pseudonyme a fonctionné:
alias node='env NODE_NO_READLINE=1 rlwrap nodejs'
au moins pour exécuter des choses directement dans bash et exécuter des fichiers .js.
Si vous souhaitez installer plusieurs versions de nodejs et basculer facilement entre elles, je vous conseillerais d'utiliser Node Version Manger . Cela résout également le problème de nommage (node
vs nodejs
)
C'est assez simple:
Installez une version de nodejs:
$ nvm install 4.4
Maintenant, vous avez nodejs 4.4 en plus de la version déjà installée et vous pouvez simplement utiliser la commande node
pour atteindre la version nouvellement installée:
$ node -v // The new version added by nvm.
v4.4.5
$ nodejs -v // The OS version is untouched and still available.
v0.10.25
Vous pouvez installer plusieurs versions de nodejs et basculer facilement entre elles:
$ nvm install 6.2
$ nvm use 6.2
Now using node v6.2.1 (npm v3.9.3)
$ node -v
v6.2.1
$ nvm use 4.4
Now using node v4.4.5 (npm v2.15.5)
Pourquoi ne pas utiliser les instructions officielles du site nodejs:
Pour v7:
curl -sL https://deb.nodesource.com/setup_7.x | Sudo -E bash -
Sudo apt-get install -y nodejs
Pour v6:
curl -sL https://deb.nodesource.com/setup_6.x | Sudo -E bash -
Sudo apt-get install -y nodejs
Pour v4:
curl -sL https://deb.nodesource.com/setup_4.x | Sudo -E bash -
Sudo apt-get install -y nodejs
Je les ai testés depuis Windows bash (via le sous-système pour Linux - 14.04) et raspbian (basé sur ARM Debian). Si vous exécutez Sudo apt-get install -y nodejs
sans exécuter au préalable le script de configuration, vous obtenez le nœud 0.10.
Si vous envisagez d'installer des modules natifs npm nécessitant une construction, exécutez également:
Sudo apt install -y build-essential
Remarque: il s'agit du chemin recommandé pour toute distribution basée sur Debian dans toutes les architectures.
Réponse tardive, mais pour des informations à jour ...
Si vous installez node.js à l'aide de la méthode recommandée à partir du fichier readme d'installation de github node , il est suggéré de suivre les instructions de l'article de blog nodesource , plutôt que d'installer à partir du référentiel apt-get obsolète, noeud .js doit être exécuté avec la commande node
, ainsi que la commande nodejs
, sans avoir à créer un nouveau lien symbolique.
Cette méthode de l'article est:
# Note the new setup script name for Node.js v0.12
curl -sL https://deb.nodesource.com/setup_0.12 | Sudo bash -
# Then install with:
Sudo apt-get install -y nodejs
Notez que ceci concerne la version 0.02, qui deviendra probablement obsolète dans un avenir pas si lointain.
De plus, si vous êtes derrière un proxy d'entreprise (comme moi), vous voudrez ajouter l'option -E à la commande Sudo, afin de préserver les vars env nécessaires pour le proxy:
curl -sL https://deb.nodesource.com/setup_0.12 | Sudo -E bash -
Ajout à la réponse correcte de @ randunel (je ne peux pas encore commenter sur SO):
Je devais aussi relier symboliquement/usr/local/bin/node à/usr/bin/nodejs.
Sudo ln -s /usr/bin/nodejs /usr/local/bin/node
Apparemment, cela remplaçait la commande/usr/bin/node.
Je ne sais pas du tout comment cela a été réglé, mais espérons que cela aidera quelqu'un d'autre, car c'était difficile de comprendre pourquoi ce qui précède ne fonctionnait pas pour moi.
Si vous êtes sur une instance AWS EC2 exécutant une instance Ubuntu (testée sur Ubuntu 16.x), cette procédure peut fonctionner à votre place
Sudo apt-get update Sudo apt-get --purge supprime le noeud -y Sudo apt-get --purge supprime nodejs -y Sudo apt-get --purge supprime legacy-node -y Sudo rm /usr/bin/node curl -sL https://deb.nodesource.com/setup_6.x | Sudo bash - Sudo apt-get install nodejs -y noeud -v
Si tout est correct, la dernière commande produira un résultat du type: v6.x.x
Sinon, lancez ce qui suit:
Sudo ln -s/usr/bin/nodejs /usr/bin/node
Espérons que cela aidera. Cela m'a aidé comme par magie (héhé).
J'avais le même problème que le lien symbolique m'a aidé à résoudre:
s'est bien passé
Le meilleur moyen d'installer nodejs est d'utiliser NVM (Node Version Manager).
Supprimer les versions précédentes:
$ Sudo rm -rf node_modules
Ensuite
$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.7/install.sh | frapper
OU
$ wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.31.7/install.sh | frapper
Vérifier nvm au chemin
$ source ~/.profile
$ nvm ls-remote
si vous avez une erreur concernant la liste, installez git.
$ Sudo apt-get install git
Re-run:
$ nvm ls-remoteOR
$ Sudo nvm ls-remote
$ nvm installez la version dont vous avez besoin
Vérification de la version
# noeud --version
nvm utilise la version dont vous avez besoin
COURTOISIE DE L'INFORMATION:
https://www.digitalocean.com/community/tutorials/how-to-install-node-js-with-nvm-node-version-manager-on-a-vps
Sera utile pour les débutants absolus
Bien que vous ayez la réponse, je voulais juste signaler que la commande node
(sans aucun paramètre) démarrera noeud dans REPL read-eval-print-loop mode pour exécuter du code javascript brut.
Une autre façon d'utiliser la commande node
consiste à lui fournir un fichier js
en tant que paramètre. Voici comment nous l'utilisons principalement.
J'avais créé un lien symbolique, mais cela ne fonctionnait toujours pas.
J'ai oublié de redémarrer mon terminal (ma connexion PuTTY). Après, ça a fonctionné sans le lien symbolique :)
https://nodejs.org/en/download/
Download .pkg file on your mac and install it. it directly works.
➜ ~ which node
/usr/local/bin/node
➜ ~ node --version
v10.11.0
➜ ~ which npm
/usr/local/bin/npm
➜ ~ npm --version
6.4.1
Vous pouvez exécuter cette commande pour activer nodejs:
scl enable rh-nodejs8 bash
Remarque: vérifiez la version de votre nœud.
Source:https://developers.redhat.com/products/softwarecollections/hello-world/
Utilisez simplement NVM (Node Version Manager) - https://github.com/creationix/nvm
C'est devenu le standard de gestion de Node.js.
Lorsque vous avez besoin d'une nouvelle version:
nvm install NEW_VER
nvm use XXX
Si quelque chose ne va pas, vous pouvez toujours revenir avec
nvm use OLD_VER
Il est facultatif de supprimer le nœud et les nœuds existants, mais vous devez également installer les derniers nœuds 7.x.
curl -sL https://deb.nodesource.com/setup_7.x | Sudo -E bash -
Sudo apt-get install -y nodejs