web-dev-qa-db-fra.com

Comment installer le dernier NodeJS sur Debian Jessie?

Je viens d'installer NodeJS & NPM sur Debian Jessie en utilisant l'approche recommandée:

apt-get install curl
curl -sL https://deb.nodesource.com/setup | bash -
apt-get install -y nodejs

Cependant, c'est une version assez ancienne (noeud v0.10.38 et npm 1.4.28).

Des suggestions sur la façon la plus simple d'installer des versions plus récentes, par exemple, actuellement le nœud est v0.12.4 et npm est 2.7.4? L'installation à partir des sources est-elle ma seule approche?

29
MrColes

Un script de configuration est disponible pour Node.js (voir insctructions d'installation ):

# Adapt version number to the version you want
curl -sL https://deb.nodesource.com/setup_0.12 | Sudo bash -
Sudo apt-get install -y nodejs

Un petit commentaire: A mon humble avis, c'est une très mauvaise idée de curl | Sudo bash. Vous exécutez un script que vous n'avez pas vérifié avec les privilèges root. Il est toujours préférable de télécharger le script, de le lire, de rechercher les commandes malveillantes et après cela , de l'exécuter. Mais c'est juste mes deux cents.

L'installation peut être réalisée manuellement en quelques étapes en suivant la procédure d'installation manuelle :

  • Supprimer l'ancien PPA (le cas échéant)
  • Ajouter une clé SSH de dépôt de noeud
  • Ajouter un référentiel de nœuds à sources.list
  • mettre à jour la liste des packages et installer à l'aide de l'outil apt préféré
48
embik

Vous pouvez télécharger la dernière version de Node (4.2.2) depuis leur site Web , au lieu d'utiliser le paquet fourni par Debian (0.12). Cela signifie également que vous disposez d'une version mise à jour de npm. Je n'ai eu aucun problème à le faire sur Jessie.

Téléchargez le .tar.gz depuis leur site Web et cd dans ce répertoire (le nom du fichier est évidemment spécifique à mon téléchargement):

$ tar -xzvf node-v4.2.2-linux-x64.tar.gz
$ cd node-v4.2.2-linux-x64

Si vous regardez dans le dossier bin, vous verrez les binaires dont vous avez besoin pour le nœud et npm:

$ ls node-v4.2.2-linux-x64/bin 
node  npm

Maintenant, je renommerais le dossier en quelque chose d'un peu plus facile à suivre

$ mv node-v4.2.2-linux-x64 nodejs

Si vous n'êtes pas intéressé par la mise à jour du nœud, déplacez simplement ce dossier dans l'un de vos emplacements de bac (j'utilise ~/bin) et ignorez l'étape suivante.

Si vous souhaitez pouvoir mettre à jour facilement la version de votre nœud, déplacez le dossier nodejs quelque part où vous pourrez en garder la trace (~/nodejs peut-être?). Ensuite, vous voulez créer un lien symbolique à l'un de vos emplacements de bacs afin que les binaires puissent être utilisés à partir de votre shell sans écrire le chemin complet.

En supposant que vous placez le dossier nodejs dans votre répertoire personnel, vous pouvez maintenant:

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

De toute évidence, cela peut aller à n'importe quel emplacement de bac que vous souhaitez. J'ai utilisé mon répertoire personnel pour qu'il ne soit disponible que pour moi, mais vous pouvez aussi facilement faire:

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

Cela créera un lien symbolique du dossier nodejs de votre répertoire personnel vers le répertoire bin (ce qui signifie que toutes les mises à jour du répertoire de votre dossier personnel seront reflétées dans le dossier ailleurs via le lien symbolique). ). Vous voulez maintenant vous assurer que le dossier bin contenant le répertoire nodejs se trouve dans votre $PATH variable d'environnement , alors ouvrez le ~/.profile fichier dans votre répertoire personnel. Vous souhaitez l'ajouter au bas de ce fichier (en changeant le chemin, si vous n'avez pas utilisé ~/bin/):

# Set the node PATH if it exists
if [ -d "$HOME/bin/nodejs/bin" ] ; then
    PATH="$HOME/bin/nodejs/bin:$PATH"
fi

Cela vérifiera si le répertoire existe, et si c'est le cas, ajoutez-le à votre PATH. J'utilise zsh donc je viens de mettre à jour une ligne dans ~/.zshrc:

export PATH="$HOME/bin/nodejs/bin:$PATH"

Fermez votre terminal et rouvrez-le, puis tapez ce qui suit pour vérifier:

$ node -v
v4.2.2

$ npm -v
2.14.7

En créant le lien sym, cela signifie désormais qu'à l'avenir, vous pourrez télécharger un nouveau .tar.gz du site Web de Nodejs, extrayez-le dans ~/nodejs, et les fichiers binaires disponibles dans votre $PATHvariable d'environnement sont automatiquement mis à jour.

12
Luke

dans mon cas, j'ai exécuté les commandes Shell recommandées:

curl -sL https://deb.nodesource.com/setup_6.x | Sudo -E bash -
Sudo apt-get install -y nodejs

le problème était que le script bash n'a pas mis à jour mon APT donc apt-get a installé l'ancien paquet Debian par défaut à partir de la source debian.org et non à partir de nodesource.com

vérifiez que c'est le problème avec apt-cache policy nodejs. vous devriez voir quelque chose comme Candidate: 6.10.2-1nodesource1~jessie1 et pas Candidate: 0.10.29~dfsg-2

pour définir la priorité des broches sur nodeource, ajoutez un fichier dans /etc/apt/preferences.d/ appelé node ou autre chose avec ce contenu:

Package: nodejs
Pin: release o=Node Source
Pin-Priority: 1200

enregistrer et exécuter apt-get cache update. Alors essaye apt-cache policy nodejs encore. si le candidat semble correct, installez normalement apt-get install nodejs

4
georgiecasey

Vous pouvez suivre la documentation officielle de node.js pour installer la dernière version avec le gestionnaire de paquets.

Node.js v6:

curl -sL https://deb.nodesource.com/setup_6.x | Sudo -E bash -
Sudo apt-get install -y nodejs

Node.js v7:

curl -sL https://deb.nodesource.com/setup_7.x | Sudo -E bash -
Sudo apt-get install -y nodejs

En exécutant ce dernier, le nœud v7.5.0 et npm v4.1.2 ont été installés sur mon système. Les alias node et nodejs ont été activés pour Node automatiquement.

2
mrkvon

Vous pouvez télécharger les derniers binaires Linux (.tar.gz) à partir du site officiel et les utiliser https://stackoverflow.com/a/23084499/1197421

1
Ivan Rave