web-dev-qa-db-fra.com

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 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.

345
Jatin

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
583
randunel

Je pense que c'est ça:

 Sudo update-alternatives --install/usr/bin/node node/usr/bin/nodejs 10.

Utiliser les alternatives Debian.

86
user229115

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.

62
Tino

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:

  1. 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.

  1. Deuxièmement, ce que j'ai fait, c'est un lien symbolique sur "nodejs":

    Sudo ln -s/usr/bin/nodejs/usr/sbin/node
30
Dmytro Medvid

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.

11
CHsurfer

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. 

10
Phill

Gestionnaire de version de noeud (nvm)

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)
9
Rotareti

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.

9
cchamberlain

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 -

7
Erresen

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. 

7
kfblake

Cela fonctionne pour moi:

alias node=nodejs

Après avoir suivi les instructions dans this link.

5
Burak Tutanlar

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é).

4
Vivek

J'avais le même problème que le lien symbolique m'a aidé à résoudre:

s'est bien passé

3
arr

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-remote
OR 
$ 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

2
SUMIT LAHIRI

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.

1
student

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 :)

1
Jamie Hutber

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
0
Ashok R

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
0

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
0
gino