web-dev-qa-db-fra.com

Pourquoi la nouvelle version de nœud.js va-t-elle installer sur Centos 7?

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?

11
CodeMed

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.

  • Option 1: C'est la solution facile. Vous pouvez éditer votre .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.
  • Option 2: C'est la voie difficile, mais cela le réparera. Premièrement, purger avec 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.
7
Digisec

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 
4
Sergio

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

3
user11085

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.

2
gregsymons

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
1
BioQwer

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.

0
Ben

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
0
Atti

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
0