it-swarm.com.de

Warum installiert die Installation von Node 6.x unter Ubuntu 16.04 eigentlich Node 4.2.6?

Dies waren meine Schritte, um Node unter Ubuntu 16.04 zu installieren:

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

was sind die offiziellen Anweisungen:

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

Wenn Sie danach nodejs --version ausführen, wird v4.2.6 zurückgegeben.

Da ich setup_6.x verwendete, nahm ich an, dass eine Version, die mit 6 beginnt, installiert werden würde.

Ich dachte, dass setup_6.x vielleicht setup_6.2.1 sein sollte, aber diese Seite gibt eine 404 zurück, siehe:

https://deb.nodesource.com/setup_6.x (dort ist eine Seite)

https://deb.nodesource.com/setup_6.2.1 (gibt 404 zurück)

Wie installiere ich die neueste stabile Version von Node auf Ubuntu 16.04?

Bearbeiten:

Dies sind die Ergebnisse nach dem Ausführen von 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

Bearbeiten:

Ergebnisse von 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
74
user1063287

Der Hauptgrund ist, dass das Setup-Skript nicht korrekt ausgeführt wurde. Daher wurden die Daten aus dem NodeSource-Repository dank der aktualisierten Daten aus dem OP, die dies unterstützen, von apt nie gesehen, da sie vom Skript nicht ordnungsgemäß konfiguriert wurden.

Möglicherweise hat das Skript Ihre Distribution nicht gefunden oder es ist beim Konfigurieren des Repositorys durcheinander gekommen, oder es ist eine Netzwerkunterbrechung aufgetreten oder es hat tausend Gründe, warum es unterbrochen wurde und seine Aufgabe nicht erfüllt hat.

Die Tatsache, dass Sie sehen, dass Version 4.x installiert wird, bedeutet, dass das Skript seine Aufgabe nicht richtig ausgeführt hat, sodass das Skript nicht unbedingt fehlerhaft ist. Dies bedeutet nur, dass wir dies möglicherweise schwieriger tun müssen.

Ich sollte darauf hinweisen: Das Skript führt eigentlich keine Installation durch - alles, was es tut, ist festzustellen, auf welcher Debian/Ubuntu-Version Sie sich befinden, und das Repository so zu konfigurieren, dass es Daten abruft. Der Installationsteil ist eigentlich der Schritt Sudo apt-get install, den Sie von Hand ausgeführt haben.


Anstatt uns auf das Skript zu verlassen, können wir das tun, was das Skript nach alter Schule tut: Richten Sie die Repository-Konfiguration von Hand ein und installieren Sie NodeJS.

Hier ist die manuelle Methode, mit der diese Funktion ausgeführt wird. Dies ist im Wesentlichen die Aufgabe des Skripts (mit Ausnahme von Schritt 4, bei dem sichergestellt werden soll, dass Sie genaue Versionsdaten erhalten):

  1. Erstellen Sie eine neue Datei: /etc/apt/sources.list.d/nodesource.list

    Sie müssen diese Datei mit Sudo erstellen, aber wenn Sie die Datei erstellen, fügen Sie Folgendes ein:

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

    Speichern Sie dann die Datei. (Ersetzen Sie node_6.x durch node_7.x oder node_8.x usw. für neuere Node Versionen)

  2. Laden Sie den GPG-Signaturschlüssel von Nodesource für das Repository herunter. Andernfalls erhalten Sie möglicherweise NO_PUBKEY Fehler mit apt-get update:

    curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | Sudo apt-key add -
    
  3. Sudo apt-get update manuell ausführen.

    Dadurch werden die Daten aus dem Nodesource-Repository aktualisiert, sodass apt weiß, dass eine neuere Version vorhanden ist.

    Wenn Sie den GPG-Fehler NO_PUBKEY erhalten, fahren Sie mit Schritt 2 fort

  4. Überprüfen Sie die Ausgabe von apt-cache policy nodejs.

    Dies wird nicht vom Skript ausgeführt, aber Sie möchten sicherstellen, dass in der Ausgabe ein Eintrag mit der folgenden Bedeutung angezeigt wird (obwohl die Version möglicherweise anders ist, wenn Sie nicht 6.x als Versionszeichenfolge verwenden. Dies ist das einzige, was wir tun Bedenken Sie, dass es eine neuere Versionsnummer gibt, die über nodeSource bereitgestellt wird.

    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
    

    Wenn Sie solche Einträge nicht sehen und nur 4.2.6 sehen, beginnen Sie von vorne. Andernfalls fahren Sie fort.

  5. Installieren Sie die Binärdatei nodejs. Nachdem Sie bestätigt haben, dass 6.x auf Ihrem System verfügbar ist, können Sie es installieren: Sudo apt-get install nodejs

  6. nodejs --version sollte jetzt v6.2.1 oder ähnliches bei der Ausgabe anzeigen (solange es mit v6. beginnt, sind Sie in Version 6; dies kann eine höhere Versionsnummer sein, wenn Sie a verwenden neuere Version als 6, aber solange es nicht 4.2.6 ist, sollten Sie bereit sein zu gehen).

132
Thomas Ward

Ich hatte eine ältere Version von Node. Alles was ich tun musste, war das alte zu löschen:

Sudo apt-get purge nodejs npm

Und dann ersetzen Sie 6 in v=6 durch 7, 8, 9, wie es für die jeweiligen Versionen erforderlich ist (siehe offizielle Installationsanweisungen ):

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

(Stellen Sie sicher, dass Sie Curl installiert haben.)

Und zuletzt,

Sudo apt-get install -y nodejs

Boom, neueste Version des Knotens.

38
codemode

Für den Benutzer der Ubuntu 16.04.2-Version (mit einer kleinen Änderung von Thomas'post und vielen Dank für ihn)

1.Öffnen Sie den Software-Updater

2.Einstellung

3. andere Software

4.Fügen Sie die Quellen hinzu, aber denken Sie daran, die Option "Alle neuen Quellen" zu einem späteren Zeitpunkt zu wählen. Exp:


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

5.laden

6 .Sudo apt-get update

7 .apt-cache policy nodejs //, um die neue Versionstabelle abzurufen und zu überprüfen, ob die Einrichtung der Quelle abgeschlossen ist

8 .Sudo apt install nodejs

9 .nodejs --version

JETZT ist alles fertig .......

warnung: Ändern Sie den Linux-Standardtreiber für Ihre NVIDIA-Karte nicht über das Updater-Panel. Das System stürzt ab.

4
Jason Liu

Ich hatte das gleiche Problem. Aber in meinem Fall musste ich meinen Curl-Befehl aktualisieren. Sie können das Problem erkennen, indem Sie die Option -S ausführen.

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

Welches zeigte das Problem

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

Also habe ich dieses Problem behoben, indem ich Folgendes ausführte.

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

Indem Sie @Thomas Ward hinzufügen, antworten Sie denjenigen, die Probleme bei der Installation von nodejs 8.x haben, mit der https-URL oder dem Code. Installieren Sie weiterhin v4.2.6, indem Sie den Zertifikatfehler anzeigen. Versuchen Sie, nodeource.list mit den folgenden Zeilen hinzuzufügen

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

nächster Schritt: Ausführen

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

Dann

Sudo apt-get install -y nodejs

Dies wird Ihr Problem lösen, indem Sie die aktualisierte NodeJS-Version und Npm-Version installieren, wie sie meine für Ubuntu 16.04 LTS gelöst haben ...

1
sunilsmith

Ich habe diesen Link gefunden und er hilft mir bei der Installation von Nodejs8____https: //www.ubuntuupdates.org/ppa/nodejs_7.x. Ich musste mich Nojs8https anschließen, weil es hieß, ich müsse Level zwei sein, um mehr als zwei Links posten zu können. Ich denke, das ist zufällig, aber was auch immer.

Vor der Installation habe ich den Befehl ausgeführt: apt-get remove --purge version nodejs

Um zu überprüfen, ob keine Version installiert ist, führen Sie Folgendes aus: apt-cached policy nodejs und/oder nodejs --version

Ich konnte Node js 8 installieren, indem ich nur die 7 in 8 änderte, und ich landete mit Version 8.1.3. Zu diesem Zweck habe ich die Befehle ausgeführt, die auf der oben angegebenen Seite enthalten sind. Hier sind jedoch die Befehle:

Laden Sie den Repository-Schlüssel herunter mit:

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

Dann richten Sie das Repository ein:

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

Wenn Sie den Knoten js 8 haben möchten, können Sie die Nummer 7 in dieser Befehlszeile in 8 und voila!

0
Victor Espinoza

Hey Leute, wenn ihr Ubuntu 16 habt, probiert diese Anleitung. Es hat bei mir perfekt funktioniert. Geben Sie auch Ihr Kontopasswort an, wenn Sie dazu aufgefordert werden.

  1. Sudo su -c "echo 'deb https://deb.nodesource.com/node_8.x xenial main' >> /etc/apt/sources.list.d/nodesource.list"

  2. Sudo su -c "echo 'deb-src https://deb.nodesource.com/node_8.x xenial main' >> /etc/apt/sources.list.d/nodesource.list"

  3. Sudo apt-get update

  4. apt-cache policy nodejs Überprüfen Sie, ob die aufgelisteten Versionen Knoten 8 haben

  5. Sudo apt-get install nodejs

  6. nodejs -v prüft die installierte Knotenversion

Dadurch wird nodejs Version 8 erfolgreich auf Ihrem System installiert. Wenn Sie eine andere Version wünschen, ändern Sie die Version in Schritt 1 und 2, damit sie erfolgreich funktioniert.

0
arc lightning

Ich habe versucht, den Anweisungen unter https://github.com/nodesource/distributions für Version 8 zu folgen, aber das hat bei mir nicht funktioniert. Ich besuchte https://deb.nodesource.com/setup_8.x direkt im Browser und kopierte und fügte das Skript in eine Datei auf meinem System ein nodejs.sh . Dann habe ich die folgenden Befehle ausgeführt

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

Der Befehl apt-cache zeigte zwei Versionen mit einer Voreinstellung für die Installation von 8. Sie können die Installationsdatei anschließend löschen. Nicht sicher, warum das Kopieren der Datei lokal geholfen hat, da der Befehl curl das Skript richtig angezeigt hat.

0
Bryan Toth