web-dev-qa-db-fra.com

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

Voici 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

quelles sont les instructions officielles:

https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions

Après avoir exécuté ceci, exécuter nodejs --version renvoie v4.2.6.

En utilisant setup_6.x, je supposais qu'une version commençant par 6 serait installée?

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

https://deb.nodesource.com/setup_6.x (il y a une page à cet endroit)

https://deb.nodesource.com/setup_6.2.1 (renvoie un 404)

Comment installer la dernière version stable de node sur Ubuntu 16.04?

Modifier:

Voici les résultats après l'exécution de 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
73
user1063287

La raison principale est que le script d'installation n'a pas fonctionné 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 aptcar elles n'étaient pas correctement configurées par le script.

Par conséquent, le script n'a peut-être pas trouvé votre distribution, il s'est peut-être égaré lors de la configuration du référentiel, il peut y avoir eu une interruption du réseau ou l'une des mille raisons pour lesquelles elle a été interrompue et n'a pas fonctionné correctement.

Le fait que vous voyiez la version 4.x en cours d'installation signifie que le script n'a pas bien fait son travail. Le script n'est donc pas nécessairement en cause. Cela signifie simplement que nous devons potentiellement faire cela de manière plus difficile.

Je dois préciser que le script n’effectue aucune installation; il ne fait que déterminer la version de Debian/Ubuntu à laquelle vous vous trouvez et configurer le référentiel à partir duquel 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 à la main.


Plutôt que de compter sur le script, nous pouvons faire ce que le script fait à l'ancienne: à la main, nous-mêmes, configurer la configuration du référentiel et installer NodeJS.

Voici la manière manuelle de faire fonctionner cela, et c'est essentiellement ce que fait le script (sauf pour 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 Sudoname__, mais lorsque vous créez le fichier, insérez-le:

    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 plus récentes Node)

  2. Téléchargez la clé de signature GPG 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 de noeuds-sources afin que aptsache qu'une version plus récente existe.

    Si vous obtenez une erreur GPON NO_PUBKEY, revenez à l'étape 2.

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

    Cela ne se fait pas par le script, mais vous voulez vous assurer que vous voyez une entrée qui dit quelque chose comme ceci 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 que nous l’important est qu’il existe un numéro de version plus récent fourni par nodesource):

    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 les entrées de ce type et que vous ne voyez que 4.2.6, recommencez. Sinon, continuez.

  5. Installez le binaire nodejsname__. Maintenant que vous avez confirmé que la version 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 en sortie (tant qu'il commence par v6. vous êtes sur la version 6; il peut s'agir d'un numéro de version supérieur si vous utilisez une version plus récente que 6 mais tant qu'il ne s'agit pas de la version 4.2 .6 vous devriez être bon pour aller).

129
Thomas Ward

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

Sudo apt-get purge nodejs npm

Ensuite, remplacez 6 dans v=6 par 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 du noeud.

38
codemode

Pour l'utilisateur de la version Ubuntu 16.04.2 (avec un peu de changement de Thomas'post et merci pour lui)

1.Ouvrez le programme de mise à jour du logiciel

2. réglage

3. autre logiciel

4.Ajoutez les sources, mais n'oubliez pas de choisir toutes les nouvelles sources plus tard, exp:


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

5.recharger

6 .Sudo apt-get update

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

8 .Sudo apt install nodejs

9 .nodejs --version

MAINTENANT tout est prêt .......

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

4
Jason Liu

J'ai eu le même problème. Mais dans mon cas, j'ai dû mettre à niveau ma commande curl. Vous pouvez voir le problème en exécutant avec 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 lançant 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
3
zatopek

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 maintien du code sur les installations 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: Run

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

Ensuite

Sudo apt-get install -y nodejs

Ceci résoudra votre problème en installant la version mise à jour de nodejs et la version npm qui résolvent le mien pour Ubuntu 16.04 LTS ...

1
sunilsmith

J'ai trouvé ce lien et cela m'aide à installer Nodejs8____https: //www.ubuntuupdates.org/ppa/nodejs_7.x. Je devais rejoindre Nojs8https sur cette ligne car il était dit que je devais être au niveau deux pour pouvoir publier plus de deux liens. Je pense que c'est aléatoire mais peu importe.

Avant de l’installer, j’exécutais la commande suivante: apt-get remove --purge version nodejs

Pour vérifier qu'aucune version n'est installée sur votre ordinateur, exécutez la commande suivante: apt-cached policy nodejs et ou nodejs --version

J'ai pu installer Node js 8 en changeant simplement le numéro 7 en 8 et je me suis retrouvé avec la version 8.1.3. Pour ce faire, j'ai exécuté les commandes qui se trouvent dans cette page, mais voici quand même les commandes:

Téléchargez la clé du référentiel avec:

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

Puis configurez le référentiel ::

Sudo sh -c "echo deb https://deb.nodesource.com/node_7.x zesty main \ > /etc/apt/sources.list.d/nodesource.list"

Sudo apt-get update

Sudo apt-get install nodejs

Encore une fois, si vous voulez le noeud js 8, vous pouvez changer le numéro 7 de cette ligne de commande en 8 et le tour est joué!

0
Victor Espinoza

J'ai essayé de suivre les instructions sur https://github.com/nodesource/distributions pour la version 8, mais cela n'a pas fonctionné pour moi. J'ai visité https://deb.nodesource.com/setup_8.x 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 la copie locale du fichier a aidé parce que la commande curl montrait le script correctement.

0
Bryan Toth