Remarque: Ceci est partiellement résolu, mais a besoin d'un peu plus d'attention. Voir Notes au bas de l'OP et @ Digisec Réponse partielle.
J'essaie de configurer Node.js sur Centos 7, mais les commandes suivantes ne parviennent pas à installer la dernière version. Qu'est-ce que je dois changer dans le code ci-dessous pour installer la version la plus récente de nœud.js sur Centos 7?
Je commence en tapant node --version
qui aboutit à v0.12.7
. C'est clairement une ancienne version parce que nodejs.org
dit ça v5.6.0
est la dernière version stable.
Alors, je tapez les éléments suivants pour obtenir la dernière version de nœud.js:
cd /tmp
curl -sL https://rpm.nodesource.com/setup | bash -
Le terminal imprime que je devrais saisir ce qui suit pour supprimer la version obsolète de nœud.js, donc je saisis ce qui suit:
yum remove -y nodejs npm
Le terminal dit également de saisir les éléments suivants pour installer la nouvelle version de nœud.js, donc je saisis ce qui suit:
yum install -y nodejs
Mais alors je tape node --version
Encore une fois, et le terminal répond avec v0.12.7
Encore une fois, montrant que les commandes précédentes, réinstallez simplement l'ancienne version obsolète.
Alors, que dois-je faire pour obtenir la dernière version stable de Node.js installée sur la machine Centos 7?
efforts en cours:
Selon la suggestion de @ digisec, j'ai réaffirmé les commandes ci-dessus, mais cette fois enregistré toute la sortie dans le texte suivant. Veuillez noter que la séquence est légèrement différente maintenant que je l'exécute à nouveau, mais le résultat est le même, comme suit:
[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]#
Ensuite, selon la réponse de @ digisec , j'ai ensuite essayé ce qui suit , mais le résultat n'est toujours pas d'installer le Version appropriée , comme vous pouvez le constater à partir de la sortie terminale suivante:
[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]#
J'ai ensuite visité l'article de base de connaissances référencé par le journal des erreurs ci-dessus , mais j'ai constaté que je ne peux pas accéder à l'article complet parce que je ne suis pas un rouge n'avait pas de client.
solution partielle:
@Digisec a résolu partiellement cela en montrant comment installer la nouvelle version, mais nous ne sommes toujours pas en mesure de supprimer l'ancienne version, ce qui laissera le risque de conflits à l'avenir. Quelles étapes doivent être prises pour supprimer l'ancienne version afin que la nouvelle installation puisse être propre et complète?
J'ai trouvé l'URL du goudron pour l'ancienne version V0.12.7 sur ce lien . Et @Digisec 'a également suggéré de lire cet autre lien, qui suggère d'utiliser la commande make uninstall
. Je suis impression qu'il ne peut y avoir que cinq ou dix commandes de type dans le terminal pour supprimer l'ancien V0.12.7 et réinstaller la nouvelle version de Nodejs. Quelles sont les commandes requises?
Il me semble avoir trouvé trois fichiers de goudron sur la machine Centos 7 qui sont liées à Nodejs V0.12.7 à l'aide des commandes de terminal suivantes:
[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 /]#
Notez qu'il y a trois autres fichiers tar marqués node_modules
dont la relation avec v0.12.7
n'est pas clair.
Quelles commandes spécifiques dois-je courir pour désinstaller en toute sécurité v0.12.7
et enlever tout le v0.12.7
Fichiers TR associés de la machine?
Je viens de vérifier le link Vous avez. Vous installez, spécifiquement, la version 0.10
, ou essayer au moins, mais vous avez une version plus récente dans le repo qui est installé. Vous devez suivre la configuration du noeud V5.
curl --silent --location https://rpm.nodesource.com/setup_5.x | bash -
[~ # ~] ps [~ # ~]: Pour une référence future, assurez-vous de lire les sites très soigneusement, en particulier lors de l'exécution de commandes as ROOT.
Edit: D'accord, il semble que vous ayez ajouté le Repo correctement. En regardant dans le repo, vos packages sont là, mais le système recherche la mauvaise version. À ce stade, je suggérerais.
yum clean all && yum update
Cela va nettoyer le repo en cache et saisir de la télécommande.
Réponse : Après le travail que nous avons fait sur le chat
, voici la bonne réponse pour vous. nodejs v5
bien installé. Vous avez déjà compilé nodejs v0.12
Manuellement, ce qui n'est pas une bonne idée sur les distributions binaires, car vous vous retrouverez dans cette position.
which node
revenu
/usr/local/bin/node
tandis que
/usr/bin/node
retourné la bonne réponse de v5.x
.
À ce stade, vous avez plusieurs options pour le réparer, mais je recommanderais 2.
.bashrc
et ajoutez un alias
qui pointera node -> /usr/bin/node
. C'est aussi simple que d'ajouter alias node="/usr/bin/node"
. Cela appellera la version correcte à chaque fois, mais je ne peux pas garantir que cela ne causera pas de conflits à l'avenir avec des bibliothèques.yum
les nœuds qui sont installés sur le système. Deuxièmement, obtenez le Tarball pour la version que vous avez compilée, jusqu'à ce qu'elle, ./configure
et désinstallez-le. Cette étape, vous pouvez trouver en ligne facilement. Enfin, réinstallez nodejs
via yum
, et cela devrait résoudre votre problème.Ce que j'ai fait:
[.____] rm -f /etc/yum.repos.d/nodeesource-el* Curl -sl https://rpm.nodeesource.com/setup_7.x | bash - Yum Install -y Nodejs Nodeversion [.____]
et j'ai eu:
V7.2.0
Centos 7.2, Nodejs 6.7.0 ( https://nodejs.org/download/release/v6.7.0/ ). Installer manuellement
wget https://nodejs.org/download/release/v6.7.0/node-v6.7.0.tar.gz
./configure
make
make install
désinstaller make uninstall
Nous avons donc couru dans le même problème ici. Ce que nous avons réalisé, c'est que les noms de repo étaient les mêmes, alors même si le repo chemins avait changé, Yum semblait penser que cela connaissait déjà ce qui était dans le référentiel et n'a pas mis à jour son cache. Nous avons fait un yum clean all
(qui peut avoir été surchargé), puis le yum install
a ramassé la version plus récente.
J'ai essayé d'installer le nœud de même NODESOURCE REPOINSTALLER . Pour ma façon, le problème résolu par Activé nodesource
repo. Changer enabled=0
à enabled=1
et tout devrait fonctionner.
[root@web ~]# cat /etc/yum.repos.d/nodesource-el.repo
[nodesource]
name=Node.js Packages for Enterprise Linux 7 - $basearch
baseurl=https://rpm.nodesource.com/pub_6.x/el/7/$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/NODESOURCE-GPG-SIGNING-KEY-EL
J'ai également eu des problèmes pour obtenir les nouvelles versions de NPM et de Nodejs installées sur Centos 7.
J'ai suivi les instructions sur le site Nodejs puis essayé d'installer NPM. Cela s'est avéré être le problème (NPM installait depuis EPEL). Le référentiel NODESOURCE ne fournit pas de paquets individuels pour NPM, comme c'est le cas pour EPEL. Au lieu de cela, tout est à l'intérieur d'un seul paquet 'Nodejs'. Donc, une fois que vous avez installé Nodejs à partir de NODEDESOURCE, vous avez maintenant automatiquement installé NPM et êtes prêt à partir sur la version mise à jour.
Je me luttais avec le même problème, ni yum clean all
ni rm -f /etc/yum.repos.d/nodesource*
aidé. Ensuite, j'ai trouvé que Yum a utilisé le référentiel EPEL pour installer le nœud, donc je l'ai désactivé temporairement (dans /etc/yum.repos.d/epel.repo
ensemble enabled=0
) et après ça
curl -sL https://rpm.nodesource.com/setup_8.x | bash -
yum install nodejs
J'ai également fait face au même problème.
Solution: 1. Allez à /tmp
Emplacement Supprimer tous les fichiers et tous les dossiers.
cd /tmp
rm -rf *
2. Vous pouvez maintenant utiliser les commandes ci-dessous pour installer NDEJS
curl --silent --location https://rpm.nodesource.com/setup_10.x | bash -
Sudo yum install -y nodejs