Hinweis: Dies ist teilweise gelöst, erfordert jedoch etwas mehr Aufmerksamkeit. Siehe Hinweise unten im OP und die teilweise Antwort von @ Digisec.
Ich versuche, Node.js unter CentOS 7 einzurichten, aber die folgenden Befehle können die neueste Version nicht installieren. Was muss ich im folgenden Code ändern, um die neueste Version von Node.js unter CentOS 7 zu installieren?
Ich beginne mit der Eingabe, node --version
was dazu führt v0.12.7
. Dies ist eindeutig eine alte Version , da nodejs.org
sagt , dass v5.6.0
die letzte stabile Version ist.
Dann tippe ich Folgendes ein, um die neueste Version von node.js zu erhalten:
cd /tmp
curl -sL https://rpm.nodesource.com/setup | bash -
Das Terminal druckt aus, dass ich Folgendes eingeben sollte, um die veraltete Version von node.js zu entfernen, also gebe ich Folgendes ein:
yum remove -y nodejs npm
Das Terminal sagt außerdem, dass Folgendes eingegeben werden muss, um die neueste Version von node.js zu installieren. Daher gebe ich Folgendes ein:
yum install -y nodejs
Aber dann tippe ich noch node --version
einmal und das Terminal antwortet v0.12.7
erneut mit und zeigt, dass die vorhergehenden Befehle einfach die alte veraltete Version erneut installiert haben.
Was muss ich also tun, um die neueste stabile Version von node.js auf dem CentOS 7-Computer zu installieren?
LAUFENDE BEMÜHUNGEN:
Gemäß dem Vorschlag von @ Digisec habe ich die obigen Befehle erneut ausgeführt, diesmal jedoch die gesamte Ausgabe im folgenden Text aufgezeichnet. Bitte beachten Sie, dass die Reihenfolge jetzt, da ich sie erneut ausführe, etwas anders ist, das Ergebnis jedoch wie folgt ist:
[root@localhost ~]# node --version
v0.12.7
[root@localhost ~]# cd /tmp
[root@localhost tmp]# curl -sL https://rpm.nodesource.com/setup | bash -
## Installing the NodeSource Node.js 0.10 repo...
## Inspecting system...
+ rpm -q --whatprovides redhat-release || rpm -q --whatprovides centos-release || rpm -q --whatprovides cloudlinux-release || rpm -q --whatprovides sl-release
+ uname -m
## Confirming "el7-x86_64" is supported...
+ curl -sLf -o /dev/null 'https://rpm.nodesource.com/pub_0.10/el/7/x86_64/nodesource-release-el7-1.noarch.rpm'
## Downloading release setup RPM...
+ mktemp
+ curl -sL -o '/tmp/tmp.ePYEdVWXQH' 'https://rpm.nodesource.com/pub_0.10/el/7/x86_64/nodesource-release-el7-1.noarch.rpm'
## Installing release setup RPM...
+ rpm -i --nosignature --force '/tmp/tmp.ePYEdVWXQH'
## Cleaning up...
+ rm -f '/tmp/tmp.ePYEdVWXQH'
## Checking for existing installations...
+ rpm -qa 'node|npm' | grep -v nodesource
## Run `yum install -y nodejs` (as root) to install Node.js 0.10 and npm.
## You may also need development tools to build native addons:
## `yum install -y gcc-c++ make`
[root@localhost tmp]# yum remove -y nodejs npm
Loaded plugins: fastestmirror, langpacks
No Match for argument: npm
Resolving Dependencies
--> Running transaction check
---> Package nodejs.x86_64 0:0.10.42-1nodesource.el7.centos will be erased
--> Finished Dependency Resolution
Dependencies Resolved
====================================================================================================================================================================================
Package Arch Version Repository Size
====================================================================================================================================================================================
Removing:
nodejs x86_64 0.10.42-1nodesource.el7.centos @nodesource 16 M
Transaction Summary
====================================================================================================================================================================================
Remove 1 Package
Installed size: 16 M
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Erasing : nodejs-0.10.42-1nodesource.el7.centos.x86_64 1/1
Verifying : nodejs-0.10.42-1nodesource.el7.centos.x86_64 1/1
Removed:
nodejs.x86_64 0:0.10.42-1nodesource.el7.centos
Complete!
[root@localhost tmp]# yum install -y nodejs
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: www.gtlib.gatech.edu
* epel: mirror.sfo12.us.leaseweb.net
* extras: dallas.tx.mirror.xygenhosting.com
* updates: linux.mirrors.es.net
Resolving Dependencies
--> Running transaction check
---> Package nodejs.x86_64 0:0.10.42-1nodesource.el7.centos will be installed
--> Finished Dependency Resolution
Dependencies Resolved
====================================================================================================================================================================================
Package Arch Version Repository Size
====================================================================================================================================================================================
Installing:
nodejs x86_64 0.10.42-1nodesource.el7.centos nodesource 4.5 M
Transaction Summary
====================================================================================================================================================================================
Install 1 Package
Total download size: 4.5 M
Installed size: 16 M
Downloading packages:
nodejs-0.10.42-1nodesource.el7.centos.x86_64.rpm | 4.5 MB 00:00:09
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : nodejs-0.10.42-1nodesource.el7.centos.x86_64 1/1
Verifying : nodejs-0.10.42-1nodesource.el7.centos.x86_64 1/1
Installed:
nodejs.x86_64 0:0.10.42-1nodesource.el7.centos
Complete!
[root@localhost tmp]# node --version
v0.12.7
[root@localhost tmp]#
Dann habe ich gemäß der Antwort von @ Digisec als nächstes Folgendes versucht, aber das Ergebnis ist immer noch nicht in der Lage, die richtige Version zu installieren , wie Sie anhand der folgenden Terminalausgabe sehen können:
[root@localhost tmp]# curl --silent --location https://rpm.nodesource.com/setup_5.x | bash -
## Installing the NodeSource Node.js 5.x repo...
## Inspecting system...
+ rpm -q --whatprovides redhat-release || rpm -q --whatprovides centos-release || rpm -q --whatprovides cloudlinux-release || rpm -q --whatprovides sl-release
+ uname -m
## Confirming "el7-x86_64" is supported...
+ curl -sLf -o /dev/null 'https://rpm.nodesource.com/pub_5.x/el/7/x86_64/nodesource-release-el7-1.noarch.rpm'
## Downloading release setup RPM...
+ mktemp
+ curl -sL -o '/tmp/tmp.NEM1bxM9WB' 'https://rpm.nodesource.com/pub_5.x/el/7/x86_64/nodesource-release-el7-1.noarch.rpm'
## Installing release setup RPM...
+ rpm -i --nosignature --force '/tmp/tmp.NEM1bxM9WB'
## Cleaning up...
+ rm -f '/tmp/tmp.NEM1bxM9WB'
## Checking for existing installations...
+ rpm -qa 'node|npm' | grep -v nodesource
## Run `yum install -y nodejs` (as root) to install Node.js 5.x and npm.
## You may also need development tools to build native addons:
## `yum install -y gcc-c++ make`
[root@localhost tmp]# yum remove -y nodejs npm
Loaded plugins: fastestmirror, langpacks
No Match for argument: npm
Resolving Dependencies
--> Running transaction check
---> Package nodejs.x86_64 0:0.10.42-1nodesource.el7.centos will be erased
--> Finished Dependency Resolution
Dependencies Resolved
====================================================================================================================================================================================
Package Arch Version Repository Size
====================================================================================================================================================================================
Removing:
nodejs x86_64 0.10.42-1nodesource.el7.centos @nodesource 16 M
Transaction Summary
====================================================================================================================================================================================
Remove 1 Package
Installed size: 16 M
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Erasing : nodejs-0.10.42-1nodesource.el7.centos.x86_64 1/1
Verifying : nodejs-0.10.42-1nodesource.el7.centos.x86_64 1/1
Removed:
nodejs.x86_64 0:0.10.42-1nodesource.el7.centos
Complete!
[root@localhost tmp]# yum install -y nodejs
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: www.gtlib.gatech.edu
* epel: mirror.sfo12.us.leaseweb.net
* extras: dallas.tx.mirror.xygenhosting.com
* updates: linux.mirrors.es.net
Resolving Dependencies
--> Running transaction check
---> Package nodejs.x86_64 0:0.10.42-1nodesource.el7.centos will be installed
--> Finished Dependency Resolution
Dependencies Resolved
====================================================================================================================================================================================
Package Arch Version Repository Size
====================================================================================================================================================================================
Installing:
nodejs x86_64 0.10.42-1nodesource.el7.centos nodesource 4.5 M
Transaction Summary
====================================================================================================================================================================================
Install 1 Package
Total download size: 4.5 M
Installed size: 16 M
Downloading packages:
nodejs-0.10.42-1nodesource.el7 FAILED
https://rpm.nodesource.com/pub_5.x/el/7/x86_64/nodejs-0.10.42-1nodesource.el7.centos.x86_64.rpm: [Errno 14] HTTPS Error 404 - Not Found ] 0.0 B/s | 0 B --:--:-- ETA
Trying other mirror.
To address this issue please refer to the below knowledge base article
https://access.redhat.com/articles/1320623
If above article doesn't help to resolve this issue please create a bug on https://bugs.centos.org/
Error downloading packages:
nodejs-0.10.42-1nodesource.el7.centos.x86_64: [Errno 256] No more mirrors to try.
[root@localhost tmp]# yum install -y nodejs
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: www.gtlib.gatech.edu
* epel: mirror.sfo12.us.leaseweb.net
* extras: dallas.tx.mirror.xygenhosting.com
* updates: linux.mirrors.es.net
Resolving Dependencies
--> Running transaction check
---> Package nodejs.x86_64 0:0.10.42-1nodesource.el7.centos will be installed
--> Finished Dependency Resolution
Dependencies Resolved
====================================================================================================================================================================================
Package Arch Version Repository Size
====================================================================================================================================================================================
Installing:
nodejs x86_64 0.10.42-1nodesource.el7.centos nodesource 4.5 M
Transaction Summary
====================================================================================================================================================================================
Install 1 Package
Total download size: 4.5 M
Installed size: 16 M
Downloading packages:
No Presto metadata available for nodesource
nodejs-0.10.42-1nodesource.el7 FAILED
https://rpm.nodesource.com/pub_5.x/el/7/x86_64/nodejs-0.10.42-1nodesource.el7.centos.x86_64.rpm: [Errno 14] HTTPS Error 404 - Not Found ] 0.0 B/s | 0 B --:--:-- ETA
Trying other mirror.
To address this issue please refer to the below knowledge base article
https://access.redhat.com/articles/1320623
If above article doesn't help to resolve this issue please create a bug on https://bugs.centos.org/
Error downloading packages:
nodejs-0.10.42-1nodesource.el7.centos.x86_64: [Errno 256] No more mirrors to try.
[root@localhost tmp]# node --version
v0.12.7
[root@localhost tmp]#
Ich habe dann den Knowledge Base-Artikel besucht, auf den im obigen Fehlerprotokoll verwiesen wird , aber festgestellt, dass ich nicht auf den vollständigen Artikel zugreifen kann, da ich kein Red Had-Kunde bin.
TEILLÖSUNG:
@Digisec hat dieses Problem teilweise gelöst, indem gezeigt wurde, wie die neue Version installiert wird. Wir können die alte Version jedoch immer noch nicht entfernen, wodurch das Risiko von Konflikten in Zukunft besteht. Welche Schritte müssen unternommen werden, um die alte Version zu entfernen, damit die neue Installation sauber und vollständig sein kann?
Ich habe die Tar-URL für die alte Version v0.12.7 unter diesem Link gefunden . Und @Digisec 'schlug auch vor, diesen anderen Link zumake uninstall
lesen , der die Verwendung des Befehls vorschlägt . Ich habe das Gefühl, dass möglicherweise nur fünf oder zehn Befehle in das Terminal eingegeben werden müssen, um die alte Version 0.12.7 zu entfernen und die neue Version von nodejs neu zu installieren. Was sind die erforderlichen Befehle?
Ich habe anscheinend drei TAR-Dateien auf dem CentOS 7-Computer gefunden, die sich auf nodejs v0.12.7 beziehen, indem ich die folgenden Terminalbefehle verwendet habe:
[root@localhost ~]# cd /
[root@localhost /]# find . -type f -iname "*.tar"
find: ‘./run/user/1000/gvfs’: Permission denied
./opt/node-v0.12.7/deps/npm/node_modules/tar/test/dir-normalization.tar
./opt/node-v0.12.7/deps/npm/test/fixtures/gitignore-and-npmignore-2.tar
./opt/node-v0.12.7/deps/npm/test/fixtures/gitignore-and-npmignore.tar
./usr/local/lib/node_modules/npm/test/fixtures/gitignore-and-npmignore-2.tar
./usr/local/lib/node_modules/npm/test/fixtures/gitignore-and-npmignore.tar
./usr/local/lib/node_modules/npm/node_modules/tar/test/dir-normalization.tar
[root@localhost /]#
Beachten Sie, dass zusätzlich drei TAR-Dateien markiert sind, node_modules
deren Beziehung zu v0.12.7
nicht klar ist.
Welche spezifischen Befehle führe ich aus, v0.12.7
um alle v0.12.7
zugehörigen TAR-Dateien sicher zu deinstallieren und vom Computer zu entfernen ?
yum remove -y nodejs
.Antworten:
Ich habe gerade den Link überprüft, von dem Sie dies erhalten haben. Sie installieren speziell die Version
0.10
oder versuchen es zumindest, aber Sie haben eine neuere Version im Repo, das installiert wird. Sie müssen dem Setup für Knoten v5 folgen.PS : Lesen Sie zum späteren Nachschlagen die Websites sorgfältig durch, insbesondere wenn Sie Befehle als root ausführen .
EDIT: Okay, es scheint, dass Sie das Repo richtig hinzugefügt haben. Wenn Sie sich das Repo ansehen, sind Ihre Pakete vorhanden, aber das System sucht nach der falschen Version. An dieser Stelle würde ich vorschlagen.
Dadurch wird das zwischengespeicherte Repo bereinigt und von der Fernbedienung abgerufen.
Antwort: Nach der Arbeit, die wir über das erledigt haben
chat
, ist hier die richtige Antwort für Sie.nodejs v5
gut installiert. Sie haben zuvornodejs v0.12
manuell kompiliert , was bei binären Distributionen keine gute Idee ist, da Sie an dieser Position landen werden.ist zurückgekommen
während
gab die richtige Antwort von zurück
v5.x
.An diesem Punkt haben Sie mehrere Möglichkeiten, um das Problem zu beheben, aber ich würde 2 empfehlen.
.bashrc
und eine hinzufügenalias
, die zeigtnode -> /usr/bin/node
. Dies ist so einfach wie das Hinzufügenalias node="/usr/bin/node"
. Dies wird jedes Mal die richtige Version aufrufen, aber ich kann nicht garantieren, dass es in Zukunft keine Konflikte mit Bibliotheken geben wird.yum
Löschen Sie zunächst mit den auf dem System installierten Knotenjs. Zweitens holen Sie sich den Tarball für die Version, die Sie kompiliert haben, entpacken Sie ihn./configure
und deinstallieren Sie ihn. Diesen Schritt können Sie leicht online finden . Schließlich installieren Sienodejs
durchyum
, und das sollte Ihr Problem beheben.quelle
Was ich getan habe:
und ich bekam:
quelle
CentOS 7.2, NodeJS 6.7.0 ( https://nodejs.org/download/release/v6.7.0/ ). Manuell installieren
zu deinstallieren
make uninstall
quelle
Ich habe versucht, den Knoten von demselben NodeSource RepoInstaller zu installieren . Für meinen Weg Problem durch aktiviertes
nodesource
Repo gelöst . Ändern Sieenabled=0
zuenabled=1
und alles sollte funktionieren.quelle
Ich hatte auch einige Probleme, die neuen Versionen von npm und nodejs unter CentOS 7 zu installieren.
Ich habe die Anweisungen auf der Website nodejs befolgt und dann versucht, npm zu installieren. Dies stellte sich als Problem heraus (npm wurde von EPEL installiert). Das Nodesource-Repository stellt keine einzelnen Pakete für npm bereit, wie dies bei EPEL der Fall ist. Stattdessen befindet sich alles in einem einzigen Paket 'nodejs'. Sobald Sie nodejs von Nodesource installiert haben, haben Sie npm automatisch installiert und können mit der aktualisierten Version fortfahren.
quelle
Ich hatte mit dem gleichen Problem zu kämpfen
yum clean all
undrm -f /etc/yum.repos.d/nodesource*
half auch nicht. Dann stellte ich fest, dass yum das Epel-Repository zum Installieren des Knotens verwendete, sodass ich ihn vorübergehend (im/etc/yum.repos.d/epel.repo
Setenabled=0
) und danach deaktiviertequelle
Ich habe auch das gleiche Problem konfrontiert.
Lösung: 1. Gehen Sie zum
/tmp
Speicherort und entfernen Sie alle Dateien und Ordner.2. Jetzt können Sie die folgenden Befehle verwenden, um NodeJs zu installieren
quelle