Comment installer NodeJS 4 avec apt?

Réponses:

75

Les instructions ont été prises à partir d'ici: https://github.com/nodesource/distributions

wget -qO- https://deb.nodesource.com/setup_4.x | sudo bash -

puis:

sudo apt-get install nodejs

Voici les versions du système:

ubuntu@424c7702-0947-e7c7-c532-dfec484fc109:~$ lsb_release -r
Release:    15.04
ubuntu@424c7702-0947-e7c7-c532-dfec484fc109:~$ node -v
v4.0.0
ubuntu@424c7702-0947-e7c7-c532-dfec484fc109:~$ npm -v
2.14.2
jarsever
la source
@jarserver - "Les paquetages suivants ont des dépendances non satisfaites: nodejs: Depends: rlwrap mais ce n'est pas installable E: Impossible de corriger les problèmes, vous avez eu des paquets cassés." - Erreur lors de l'installation d'apt-get. Comment régler ceci?
Kumar Sambhav
@KumarSambhav semble que votre base de données de paquets est dans un état cassé. Cherchez sur le site comment réparer apt.
Battlemidget
Cela ne marche pas pour moi sur Ubuntu 15.10. Il installe toujours la v0.10.25 (version inférieure à l'OP, je ne sais donc pas ce qui se passe ...)
HankScorpio
@HankScorpio Il semble que l'apt-repo n'ait pas été mis à jour. Essayez de suivre les instructions d'installation manuelle ( github.com/nodesource/distributions#manual-installation ) et voyez si cela résout le problème.
jarsever
Oui, c’est ça le problème. Certaines clés GPG (quelle qu’elles soient) étaient manquantes et apt-get updateéchouaient à chaque fois. J'avais l'habitude y-ppa-managerde résoudre le problème et maintenant j'ai la dernière version de NodeJS 4.
HankScorpio
37

Node Version Manager a toujours la dernière

Je suis fermement convaincu que l' installation de Node avec Node Version Manager est la meilleure option sous Ubuntu si vous l'installez sur un ordinateur sur lequel vous souhaitez effectuer le développement (au lieu d'un serveur de production).

Lorsque vous installez dans les référentiels officiels, vous vous retrouvez avec quelque chose de terriblement obsolète. Vous pouvez toujours ajouter un PPA, mais vous disposerez toujours d' autorisations compliquées dans le cadre desquelles l'installation globale de modules à partir de npm requiert des privilèges d'administrateur.

Avec NVM, tout est conservé dans votre dossier de départ (aucun besoin de le faire sudo), et vous pouvez installer plusieurs versions de Node (y compris la version 4.0) et basculer facilement entre elles.

Installation avec NVM

Extrait des instructions d'installation de NVM :

Prenez la dernière copie de NVM (vous devrez peut-être d' sudo apt-get install curlabord):

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.26.1/install.sh | bash

Dites à votre shell d'utiliser nvm(vous voudrez peut-être ajouter ceci pour ~/.bashrcque cela se produise automatiquement à l'avenir):

source ~/.nvm/nvm.sh

Ensuite, installez la dernière version du noeud:

nvm install 4.0

Et indiquez à nvm la version de Node que vous souhaitez utiliser:

nvm use 4.0

Vous voudrez peut-être aussi ajouter la nvm use 4.0ligne à votre ~/.bashrc, de sorte que vous n’ayez pas à choisir une version de noeud à chaque démarrage de votre terminal.

Maintenant, si vous cochez which nodecette case, vous devriez avoir un chemin d'accès au fichier exécutable dans votre dossier personnel. Courir node --versiondevrait vous dire que vous courez v4.0.0.

Michael Martin-Smucker
la source
6
Je ne pense pas que le commentaire sur les autorisations en désordre est exact, j'installe le nœud à partir du rapport de source de nodeodes apt et peut exécuter et installer des modules de nœud dans mon répertoire de base local (y compris l'option -g globale). Il suffit de mettre à jour ~ / .npmrc pour définir votre répertoire de préfixes.
Battlemidget
3
Ah, c'est un très bon point. Je suis toujours un fan de nvm pour la gestion des versions, mais si ce n'est pas votre cas, la définition d'un préfixe dans ~/.npmrcsemble bien être le bon moyen de gérer les autorisations pour les modules globaux.
Michael Martin-Smucker
Je pense que la note "obsolète" sur les référentiels officiels, dans la réponse est un peu ... obsolète ;-) Les référentiels officiels supportent maintenant toute version publiée sur un train supporté - il y a des dépôts pour les versions 6, 7 et même 8, et a été comme ça depuis au moins ma réponse ci-dessous (10/15)
Guss
36

Avec kudus à @jarsever, je ne souscris personnellement pas au paradigme " curl | sh ".

Si vous ressentez le même genre de malaise que moi lorsque je vous demande de diriger du texte arbitraire sur Internet et dans le processus shell d'un compte root, vous voudrez peut-être essayer cela avec le même effet, mais avec un peu (légèrement) moins de peur, d'incertitude et doute:

version=4
apt-key adv --keyserver keyserver.ubuntu.com --recv 68576280
apt-add-repository 'deb https://deb.nodesource.com/node_${version}.x precise main'
apt-get update
apt-get install nodejs

Je pense que le processus doit être clair et que vous pouvez également faire de même via l'interface utilisateur des propriétés du logiciel d'Ubuntu.

Guss
la source
Y at-il un inconvénient à le faire de cette façon? On dirait que la meilleure option ...
Catskul
6
C'est plus d'une ligne, et vous permet de connaître votre système? ... Certaines personnes n'aiment pas cela, je pense, c'est la seule façon pour moi d'expliquer le curl|shphénomène.
Guss
3
En plus d'apprendre à mieux connaître le gestionnaire de paquets de votre système d'exploitation, c'est aussi un problème de sécurité. curl|shextrait un script d'un serveur et l'exécute directement dans un shell. Personnellement, je fais confiance à nodesource, mais ce n’est pas une habitude à prendre. unix.stackexchange.com/questions/46286/…
blanket_cat
Et là vous demandant de le canaliser dans sudo -E bash. Il fonctionne en tant que root. Je vous recommande fortement de lire et de comprendre le script si vous voulez le diriger du réseau vers un shell root.
blanket_cat
1
En règle générale, en installant un paquet deb, vous prenez le même risque que de transférer Internet dans un shell root. Cela étant dit, l’un implique que vous comprenez votre système, l’autre implique que vous ne le savez pas - et c’est une énorme différence.
Guss
0

J'aime utiliser nodeenv à partir de pypi ( https://pypi.python.org/pypi/nodeenv ), vous installez le paquet à l'aide de pip, puis vous configurez un "noeud / virtualenv" et vous lui demandez d'installer une version pré-construite, rapide et simple. . Paul

Paul
la source
-1

Cela a fonctionné pour moi

echo 'export PATH=$HOME/local/bin:$PATH' >> ~/.bashrc
. ~/.bashrc
mkdir ~/local
mkdir ~/node-latest-install
cd ~/node-latest-install
curl http://nodejs.org/dist/node-latest.tar.gz | tar xz --strip-components=1
./configure --prefix=~/local
make install 
curl https://www.npmjs.org/install.sh | sh

Source: https://gist.github.com/isaacs/579814

johnjullies
la source
1
La question concerne spécifiquement comment installer NodeJS avec Apt .
David Foerster