NodeJS vs noeud sur ubuntu 12.04
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 le noeud dans le répertoire /usr/sbin/
, cependant.
Écrit npm --version
montre 1.3.5
L'écriture nodejs --version
montre v0.10.15
aussi, je peux voir noeud dans le répertoire /usr/bin/
.
alors, comment faire pour que node
fonctionne?
aussi, si j'utilise zsh au lieu de bash, alors la commande node
fonctionne.
20 réponses
, Vous devez créer manuellement un lien symbolique /usr/bin/node
. Raccourci pour coquilles compatibles avec bash:
sudo ln -s `which nodejs` /usr/bin/node
ou si vous utilisez des shells non standard, codez simplement le chemin que vous trouvez avec which nodejs
:
sudo ln -s /usr/bin/nodejs /usr/bin/node
modifier plus tard
j'ai trouvé cette explication dans le lien que vous avez posté""
il y a un conflit de nom avec le paquet node (Amateur Packet Le binaire nodejs a été renommé de NodeJS à NodeJS. Vous aurez besoin de symlink /usr/bin/NodeJS to /usr/bin/nodejs ou vous pourriez désinstaller le programme Amateur Packet Radio Node pour éviter ce conflit.
plus tard éditer
ça fait longtemps que je n'ai pas répondu. Bien que la solution que j'ai postée ici ait fonctionné pour moi plusieurs fois, les utilisateurs ont rapporté quelques solutions supplémentaires dans le 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
utilisant les alternatives Debian.
apparemment la solution diffère entre les versions Ubuntu. Ci-après travaillé pour moi sur Ubuntu 13.10:
sudo apt-get install nodejs-legacy
HTH
Edit: Règle du pouce:
si vous avez installé nodejs
mais qu'il vous manque le binaire /usr/bin/node
, installez aussi nodejs-legacy
. cela crée juste le softlink manquant.
selon mes tests, Ubuntu 17.10 et plus ont déjà la compatibilité-softlink /usr/bin/node
en place après 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 sous Ubuntu 14.04.
j'ai installé" nodejs "et ça marche, mais seulement si j'utilise la commande"nodejs". Si j'essaie d'utiliser "noeud", rien ne se passe.
je suis corrigé ce problème de la façon suivante:
-
Installer nodejs-l'héritage
sudo apt-get install nodejs-legacy
après cela, quand je tape "node" dans la ligne de commande je reçois un message d'erreur " / usr / sbin / node: Pas de tel fichier ou répertoire"
-
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 depuis la source il y a quelque temps. En cours d'exécution
which node
pointait toujours vers cette installation locale. Aussi,
echo NODE_PATH
pointait vers l'installation locale.
supprimer le répertoire avec l'installation source n'a pas aidé. Il vient de casser la commande de noeud. En fin de compte, désactiver le NODE_PATH la variable environnementale et la purge, puis la réinstallation de nodejs ont fait l'affaire.
unset NODE_PATH
sudo apt-get --purge remove nodejs
sudo apt-get install nodejs
Après ceci,
node -v => 5.5.0
et npm install ont commencé à fonctionner pour les paquets en fonction de Node => 5.0.
je suis nouveau à tout cela, mais pour moi, un simple alias travaillé:
alias node='env NODE_NO_READLINE=1 rlwrap nodejs'
au moins pour exécuter des choses directement dans bash et l'exécution .js fichiers.
Que Diriez-vous d'utiliser les instructions officielles du site de nodejs 151990920":
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
j'ai testé ceux - ci depuis Windows bash (via le sous-système Linux-14.04) et raspbian (basé sur Debian ARM). Lancer sudo apt-get install -y nodejs
sans avoir d'abord lancé le script de configuration vous permettra l'obtention du nœud de 0,10.
si vous prévoyez d'installer des modules npm natifs à construire, exécutez aussi:
sudo apt install -y build-essential
Note: c'est le chemin recommandé pour toute distribution basée sur Debian sur toutes les architectures.
Nœud Gestionnaire de versions (nvm)
si vous souhaitez installer plusieurs versions de nodejs et passer facilement d'une version à l'autre, je vous conseille d'utiliser Node Version Manger . Il résout également le problème d'appellation ( node
vs nodejs
)
c'est assez simple:
installer une version nodejs:
$ nvm install 4.4
Maintenant, vous avez nodejs 4.4 en plus de la version qui était déjà installé 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 plus de 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)
ajoute à la réponse correcte de @randunel (Je ne peux pas encore le commenter):
j'ai aussi dû faire un lien symbolique /usr/local/bin/NodeJS avec /usr/bin/nodejs.
sudo ln -s /usr/bin/nodejs /usr/local/bin/node
apparemment, cela dépassait la commande/usr/ bin / node.
aucune idée de comment cela a été fixé, mais espérons que cela aide quelqu'un d'autre car c'était une douleur de comprendre pourquoi ce qui précède ne fonctionnait pas pour moi.
réponse Tardive, mais pour la mise à jour d'informations...
si vous installez node.js en utilisant la méthode recommend du noeud GitHub installation readme , il suggère de suivre les instructions sur le nodesource blog article , plutôt que d'installer à partir de la date apt-get repo, noeud.js devrait utiliser la commande node
, ainsi que la commande nodejs
, sans avoir à créer un nouveau lien symbolique.
cette méthode tirée 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 est pour v0.12, qui deviendra probablement obsolète dans un avenir pas très lointain.
en outre, si vous êtes derrière un mandataire d'entreprise (comme moi) ,vous voudrez ajouter l'option-E à la commande sudo, pour préserver les vars env requis pour le mandataire:
curl -sL https://deb.nodesource.com/setup_0.12 | sudo -E bash -
si vous êtes sur une instance AWS EC2 exécutant une instance Ubuntu (testé sur Ubuntu 16.x), alors ces étapes pourraient fonctionner pour vous:
sudo apt-get update sudo apt-get --purge remove node -y sudo apt-get --purge remove nodejs -y sudo apt-get --purge remove 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 node -v
Si tout est correct, la dernière commande doit avoir une sortie comme : v6.x.x
Si non, puis exécutez la commande suivante:
sudo ln -s /usr/bin/nodejs /usr/bin/node
espérons que cela aidera. Ça m'a aidé par magie (hehe).
j'ai eu le même problème de lien symbolique m'a aidé: sudo ln -s / usr / bin/nodejs / usr/bin / node après que sudo npm install-g phantomjs-prêts à l'emploi
s'est bien passé
la meilleure façon d'installer nodejs est par NVM (Node Version Manager)
supprimer les versions précédentes:
$ sudo apt-get purge node
$ sudo apt autoremove
supprime également tous les modules_node_de par $ sudo rm -rf node_modules
dans le répertoire contenant ce dossier.
Nœud & Nodejs sont techniquement la même chose. Juste la dénomination a changé.
première installation ou mise à jour de nvm
exécuter en tant que root
$ sudo su
puis
$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.7/install.sh | bash
ou
$ wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.31.7/install.sh | bash
Vérifier nvm de chemin
$ source ~/.profile
$ nvm ls-remote
si vous avez une erreur concernant la liste, installez git.
$ sudo apt-get install git
Re-exécuter :
$ nvm ls-remoteou
$ sudo nvm ls-remote
$ nvm install version-you-require
Version De Contrôle
# node --version
nvm use version-you-require
INFORMATION COURTOISIE:
https://www.digitalocean.com/community/tutorials/how-to-install-node-js-with-nvm-node-version-manager-on-a-vps
j'avais créé un lien symbolique, mais ça ne marchait toujours pas.
j'ai oublié de redémarrer mon terminal (ma connexion putty). Après que je l'ai eu travaillé sans le symlink:)
sera utile pour les débutants absolus
bien que, vous avez la réponse, je voulais juste faire remarquer que la commande node
(sans aucun paramètre) va démarrer le noeud dans REPL read-eval-print-loop mode pour exécuter le code Javascript brut.
une autre façon d'utiliser la commande node
est de lui fournir un fichier js
comme paramètre. C'est la façon dont nous utilisons principalement.
il est facultatif de supprimer le noeud existant et nodejs, mais doit faire alternativement installer la dernière 7.x nodejs.
curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
sudo apt-get install -y nodejs
il suffit d'utiliser NVM(Node Version Manager)) - https://github.com/creationix/nvm
il est devenu la norme pour la gestion de Noeud.js.
quand vous avez besoin d'une nouvelle version:
nvm install NEW_VER
nvm use XXX
si quelque chose tourne mal, vous pouvez toujours revenir en arrière avec
nvm use OLD_VER
vous pouvez exécuter cette commande pour activer nodejs:
scl enable rh-nodejs8 bash
Note: Vérifiez votre version de noeud.
Source: https://developers.redhat.com/products/softwarecollections/hello-world /
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