Pourquoi l'installation du noeud 6.x sur Ubuntu 16.04 installe-t-elle réellement le noeud 4.2.6?

67

Ce sont mes étapes pour installer le noeud sur Ubuntu 16.04:

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

qui sont les instructions officielles:

lien

Après cela, l'exécution de nodejs --version renvoie v4.2.6 .

Comme j'ai utilisé setup_6.x , je supposais qu'une version commençant par 6 serait installée?

Je pensais que setup_6.x devrait être setup_6.2.1 , mais cette page renvoie un 404, voir:

lien (il existe une page)

lien (renvoie un 404)

Comment installer la dernière version stable du noeud sur Ubuntu 16.04?

Modifier:

Ce sont des résultats après avoir exécuté sudo apt-get install -y nodejs :

sudo apt-get install -y nodejs 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  gyp libboost-python1.58.0 libjs-inherits libjs-node-uuid libjs-underscore
  libssl-dev libssl-doc libuv1-dev linux-headers-4.4.0-18
  linux-headers-4.4.0-18-generic linux-headers-4.4.0-21
  linux-headers-4.4.0-21-generic linux-image-4.4.0-18-generic
  linux-image-4.4.0-21-generic linux-image-extra-4.4.0-18-generic
  linux-image-extra-4.4.0-21-generic linux-signed-image-4.4.0-18-generic
  linux-signed-image-4.4.0-21-generic python-configobj python-pycurl
  python-pyexiv2 python-pyexiv2-doc
Use 'sudo apt autoremove' to remove them.
The following NEW packages will be installed:
  nodejs
0 to upgrade, 1 to newly install, 0 to remove and 0 not to upgrade.
Need to get 0 B/3,162 kB of archives.
After this operation, 13.2 MB of additional disk space will be used.
Selecting previously unselected package nodejs.
(Reading database ... 329473 files and directories currently installed.)
Preparing to unpack .../nodejs_4.2.6~dfsg-1ubuntu4_amd64.deb ...
Unpacking nodejs (4.2.6~dfsg-1ubuntu4) ...
Processing triggers for doc-base (0.10.7) ...
Processing 1 added doc-base file...
Registering documents with scrollkeeper...
Processing triggers for man-db (2.7.5-1) ...
Setting up nodejs (4.2.6~dfsg-1ubuntu4) ...
update-alternatives: using /usr/bin/nodejs to provide /usr/bin/js (js) in auto mode

Modifier:

Résultats de apt-cache policy nodejs :

apt-cache policy nodejs
nodejs:
  Installed: 4.2.6~dfsg-1ubuntu4
  Candidate: 4.2.6~dfsg-1ubuntu4
  Version table:
 *** 4.2.6~dfsg-1ubuntu4 500
        500 http://au.archive.ubuntu.com/ubuntu xenial/universe amd64 Packages
        100 /var/lib/dpkg/status
    
posée user1063287 13.06.2016 - 04:16
la source

7 réponses

119

La raison principale est que le script d’installation ne s’est pas exécuté correctement. Par conséquent, grâce aux données mises à jour de l'OP qui le supporte, les données du référentiel NodeSource n'ont jamais été vues par apt car elles n'étaient pas correctement configurées par le script.

Par conséquent, le script n’a peut-être pas trouvé votre distribution, ou s’il a été endommagé lors de la configuration du référentiel, ou s’il ya eu une interruption du réseau, ou bien travail.

Le fait que la version 4.x soit installée signifie que le script n’a pas fait son travail correctement, donc le script n’est pas nécessairement en faute. Cela signifie simplement que nous devons potentiellement le faire d'une manière plus difficile.

  

Je devrais faire remarquer que le script ne fait aucune installation - tout ce qu'il fait est de déterminer la version de Debian / Ubuntu sur laquelle vous vous trouvez, et de configurer le dépôt pour qu'il récupère les données. La partie installation est en fait l'étape sudo apt-get install que vous avez exécutée manuellement.

Plutôt que de s’appuyer sur le script, nous pouvons faire ce que le script fait à l’ancienne: à la main, nous devons configurer la configuration du référentiel et installer NodeJS.

Voici la manière manuelle de faire ce travail, et c’est essentiellement ce que fait le script (à l’exception de l’étape 4, qui consiste à s’assurer que vous obtenez des données de version précises):

  1. Créer un nouveau fichier: /etc/apt/sources.list.d/nodesource.list

    Vous aurez besoin de créer ce fichier avec sudo , mais lorsque vous créez le fichier, placez-le à l'intérieur:

    deb https://deb.nodesource.com/node_6.x xenial main
    deb-src https://deb.nodesource.com/node_6.x xenial main
    

    Ensuite, enregistrez le fichier. (remplacez node_6.x par node_7.x ou node_8.x , etc. pour les versions de nœuds plus récentes)

  2. Téléchargez la clé de signature GPG à partir de Nodesource pour le référentiel . Sinon, vous pouvez obtenir des erreurs NO_PUBKEY avec apt-get update :

    curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | sudo apt-key add -
    
  3. Exécutez manuellement sudo apt-get update .

    Ceci actualise les données du référentiel nodesource afin que apt sache qu’une nouvelle version existe.

    Si vous obtenez une erreur NO_PUBKEY GPG, retournez à l’étape 2

  4. Vérifiez la sortie apt-cache policy nodejs .

    Cela n’est pas fait par le script, mais vous voulez vous assurer que vous voyez une entrée qui dit quelque chose comme ça dans la sortie (bien que la version puisse être différente si vous n’utilisez pas 6.x comme chaîne de version; La seule chose qui nous préoccupe est qu’il y ait un nouveau numéro de version fourni par nodeource):

    Version table:
        6.2.1-1nodesource1~xenial1 500
           500 https://deb.nodesource.com/node_6.x xenial/main amd64 Packages
        4.2.6~dfsg-1ubuntu4 500
           500 http://archive.ubuntu.com/ubuntu xenial/universe amd64 Packages
    

    Si vous ne voyez pas d'entrées comme celle-ci et que vous ne voyez que 4.2.6, recommencez. Sinon, continuez.

  5. Installez le fichier binaire nodejs . Maintenant que vous avez confirmé que 6.x est disponible sur votre système, vous pouvez l'installer: sudo apt-get install nodejs

  6. nodejs --version devrait maintenant afficher v6.2.1 ou similaire à la sortie (tant qu'il commence avec v6. vous êtes sur la version 6 alors, cela peut être un numéro de version plus élevé si vous utilisez un version plus récente que 6 mais tant que ce n'est pas 4.2.6, vous devriez être prêt à aller).

réponse donnée Thomas Ward 13.06.2016 - 04:47
la source
37

J'ai une ancienne version de noeud. Tout ce que j'avais à faire était de purger l'ancien:

sudo apt-get purge nodejs npm

Et puis, en remplaçant 6 dans v=6 avec 7, 8, 9 selon les besoins pour les versions respectives (voir instructions d'installation officielles ):

v=6
curl -sL https://deb.nodesource.com/setup_$v.x | sudo -E bash -

(assurez-vous que curl est installé.)

Et enfin,

sudo apt-get install -y nodejs

Boom, dernière version de node.

    
réponse donnée codemode 18.11.2016 - 19:34
la source
3

Pour l'utilisateur de la version Ubuntu 16.04.2 (avec un petit changement par rapport à Thomas et merci pour lui)

1. Ouvrez le logiciel de mise à jour

2.setting

3.autres logiciels

4.Ajoutez les sources mais n'oubliez pas de choisir toutes les nouvelles options de sources ultérieurement exp:

deb https://deb.nodesource.com/node_6.x xenial main
deb-src https://deb.nodesource.com/node_6.x xenial main

5.reload

6. sudo apt-get update

7. apt-cache policy nodejs // pour obtenir la nouvelle table de version et vérifier si la source est configurée

8. sudo apt install nodejs

9. nodejs --version

MAINTENANT tout est réglé .......

avertissement: ne modifiez pas votre pilote Linux par défaut pour votre carte nvidia à partir du panneau de mise à jour ... le système sera bloqué .... !!!

    
réponse donnée Jason Liu 12.04.2017 - 23:46
la source
2

J'ai eu le même problème. Mais dans mon cas, je devais mettre à jour ma commande curl. Vous pouvez voir le problème en exécutant l'option -S.

curl -s -S https://deb.nodesource.com/gpgkey/nodesource.gpg.key | sudo apt-key add -

Qui a montré le problème

curl: (1) Protocol "https" not supported or disabled in libcurl
gpg: no valid OpenPGP data found.

J'ai donc résolu ce problème en exécutant ce qui suit.

sudo apt-get install curl
sudo apt autoremove
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install nodejs
    
réponse donnée zatopek 17.11.2017 - 02:37
la source
1

En ajoutant @Thomas Ward, répondez à ceux qui rencontrent des problèmes lors de l’installation de nodejs 8.x avec l’URL https ou le code continue à installer v4.2.6 en affichant une erreur de certificat essayez d’ajouter nodesource.list avec les lignes ci-dessous

deb http://deb.nodesource.com/node_8.x xenial main
deb-src http://deb.nodesource.com/node_8.x xenial main

prochaine étape: Exécuter

sudo curl -sL http://deb.nodesource.com/setup_8.x | sudo -E bash -

Alors

sudo apt-get install -y nodejs

Cela résoudra votre problème en installant la version mise à jour de nodejs et la version npm car elle a résolu le mien pour Ubuntu 16.04 LTS ...

    
réponse donnée sunilsmith 23.10.2017 - 11:09
la source
0

J'ai trouvé ce lien et cela m'aide à installer Nodejs8

réponse donnée Victor Espinoza 29.06.2017 - 17:49
la source
0

J'ai essayé de suivre les instructions sur lien pour la version 8, mais cela n'a pas fonctionné pour moi. J'ai visité lien directement dans le navigateur et copié et collé le script dans un fichier sur mon système nodejs.sh . Puis j'ai exécuté les commandes suivantes

sudo -E bash nodejs.sh
apt-cache policy nodejs
sudo apt-get install nodejs

La commande apt-cache a montré deux versions avec une préférence pour l'installation 8. Vous pouvez ensuite supprimer le fichier d'installation. Vous ne savez pas pourquoi copier le fichier localement a aidé parce que la commande curl a montré le script correctement.

    
réponse donnée Bryan Toth 03.04.2018 - 17:11
la source

Lire d'autres questions sur les étiquettes