Remarque: Ceci est partiellement résolu, mais nécessite un peu plus d'attention. Voir les notes en bas de l'OP et la réponse partielle de @ Digisec.
J'essaie de configurer Node.js sur CentOS 7, mais les commandes suivantes ne parviennent pas à installer la dernière version. Que dois-je changer dans le code ci-dessous pour installer la dernière version de Node.js sur CentOS 7?
Je commence par taper node --version
ce qui donne v0.12.7
. Ceci est clairement une ancienne version car nodejs.org
dit que v5.6.0
est la dernière version stable.
Alors je tape ce qui suit pour obtenir la dernière version de node.js:
cd /tmp
curl -sL https://rpm.nodesource.com/setup | bash -
Le terminal affiche que je dois taper ce qui suit pour supprimer la version obsolète de node.js, donc je tape ce qui suit:
yum remove -y nodejs npm
Le terminal indique également de taper ce qui suit pour installer la dernière version de node.js, donc je tape ce qui suit:
yum install -y nodejs
Mais je tape à node --version
nouveau et le terminal répond à v0.12.7
nouveau, montrant que les commandes précédentes ont simplement réinstallé 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éexécuté les commandes ci-dessus, mais cette fois, j'ai enregistré toutes les sorties 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 ne parvient toujours pas à installer la bonne version , comme vous pouvez le voir sur la sortie du terminal 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 la base de connaissances référencé par le journal des erreurs ci - dessus , mais j'ai constaté que je ne pouvais pas accéder à l'article complet car je ne suis pas un client de Red Had.
SOLUTION PARTIELLE:
@Digisec a partiellement résolu ce problème 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 mesures doivent être prises pour supprimer l'ancienne version afin que la nouvelle installation puisse être propre et complète?
J'ai trouvé l'URL tar 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 commandemake uninstall
. J'ai l'impression qu'il ne peut y avoir que cinq ou dix commandes à taper dans le terminal pour supprimer l'ancienne v0.12.7 et réinstaller la nouvelle version de nodejs. Quelles sont les commandes requises?
Il me semble avoir trouvé trois fichiers tar sur la machine CentOS 7 qui sont liés à 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 existe trois autres fichiers tar marqués node_modules
dont la relation avec v0.12.7
n'est pas claire.
Quelles commandes spécifiques dois-je exécuter pour désinstaller v0.12.7
et supprimer en toute sécurité tous les v0.12.7
fichiers tar associés de la machine?
yum remove -y nodejs
.Réponses:
Je viens de vérifier le lien que vous avez obtenu. Vous installez, en particulier, la version
0.10
, ou essayez au moins, mais vous avez une version plus récente dans le référentiel en cours d'installation. Vous devez suivre la configuration du nœud v5.PS : pour référence future, assurez-vous de lire très attentivement les sites, en particulier lorsque vous exécutez des commandes en tant que root .
EDIT: D' accord, il semble que vous ayez correctement ajouté le repo . En regardant dans le repo, vos packages sont là mais le système recherche la mauvaise version. À ce stade, je dirais.
Cela nettoiera le dépôt mis en cache et le récupérera à distance.
Réponse: Après le travail que nous avons effectué sur le
chat
, voici la bonne réponse pour vous.nodejs v5
bien installé. Vous avez précédemment 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.revenu
tandis que
a renvoyé la bonne réponse de
v5.x
.À ce stade, vous avez plusieurs options pour le corriger, mais je recommanderais 2.
.bashrc
et ajouter unalias
qui pointeranode -> /usr/bin/node
. C'est aussi simple que d'ajouteralias node="/usr/bin/node"
. Cela appellera la bonne version à chaque fois mais je ne peux pas garantir qu'elle ne causera pas de conflits à l'avenir avec les bibliothèques.yum
les nodejs installés sur le système. Ensuite, récupérez l'archive tar de la version que vous avez compilée, décompressez-la./configure
et désinstallez-la. Cette étape, vous pouvez trouver en ligne facilement. Enfin, réinstallent ànodejs
traversyum
, et qui devrait résoudre votre problème.la source
Ce que j'ai fait:
et j'ai eu:
la source
CentOS 7.2, NodeJS 6.7.0 ( https://nodejs.org/download/release/v6.7.0/ ). Installer manuellement
désinstaller
make uninstall
la source
J'ai essayé d'installer le nœud à partir du même NodeSource RepoInstaller . Pour mon problème de chemin résolu par le
nodesource
repo activé . Changementenabled=0
àenabled=1
et tous les travaux devraient.la source
J'avais également des problèmes pour installer les nouvelles versions de npm et de nodejs sur CentOS 7.
J'ai suivi les instructions sur le site nodejs puis j'ai 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 packages individuels pour npm comme c'est le cas pour EPEL. Au lieu de cela, tout se trouve dans un seul paquet «nodejs». Ainsi, une fois que vous avez installé nodejs à partir de Nodesource, vous avez maintenant installé automatiquement npm et êtes prêt à passer à la version mise à jour.
la source
Je luttais avec le même problème, ni
yum clean all
nerm -f /etc/yum.repos.d/nodesource*
aidais. Ensuite, j'ai trouvé que yum utilisait le référentiel Epel pour installer le nœud, donc je l'ai désactivé temporairement (dans l'/etc/yum.repos.d/epel.repo
ensembleenabled=0
) et après celala source
J'ai également rencontré le même problème.
Solution: 1. Allez à l'
/tmp
emplacement pour supprimer tous les fichiers et dossiers.2. vous pouvez maintenant utiliser les commandes ci-dessous pour installer NodeJs
la source