Em um servidor CentOS 7, estou tentando instalar a versão 5.x
de Node.js
, mas por algum motivo, yum
continua tentando instalar a versão 0.x
e retornando um erro quando não consegue encontrar a versão 0.x
no site de download 5.x
. O erro indica que yum
está concatenando uma versão 0.x
nome do arquivo com uma versão 5.x
url. Eu suponho que isso aponta para algo errado na configuração de yum
na máquina do CentOS 7. Quais alterações específicas a seguir precisam ser feitas para instalar a versão 5.x?
A mensagem de erro raiz é:
Error downloading packages:
nodejs-0.10.42-1nodesource.el7.centos.x86_64: [Errno 256] No more mirrors to try.
A página do editor a partir da qual o meu código abaixo foi originado pode ser visualizada no no seguinte link . Além disso, alguma complicação pode ser resultante de tente seguir as instruções neste outro link . E para explorar os possíveis remanescentes da tentativa anterior, estou executando o seguinte comando e aguardando os resultados: grep -rnw '/path/to/somewhere/' -e "pattern"
Aqui está a saída do terminal para definir o local da fonte de nós:
[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.sH82u4Gpap' '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.sH82u4Gpap'
## Cleaning up...
+ rm -f '/tmp/tmp.sH82u4Gpap'
## 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'
Aqui está uma listagem do conteúdo da pasta /tmp
após o comando acima:
[root@localhost tmp]# ls -al
total 8
drwxrwxrwt. 13 root root 320 Feb 14 06:13 .
dr-xr-xr-x. 19 root root 4096 Jan 29 20:54 ..
drwx------. 2 user user 60 Feb 13 20:05 .esd-1000
drwxrwxrwt. 2 root root 40 Feb 13 20:04 .font-unix
prw-------. 1 root root 0 Feb 13 20:05 hogsuspend
drwxrwxrwt. 2 root root 80 Feb 13 20:05 .ICE-unix
srwxrwxrwx. 1 mongod mongod 0 Feb 13 20:04 mongodb-27017.sock
drwx------. 2 user user 40 Dec 31 1969 orbit-user
drwx------. 2 user user 60 Feb 13 20:05 ssh-AmQyH8IIEC2m
drwx------. 3 root root 60 Feb 13 20:05 systemd-private-74534ca9946043cc88dbe52a38b4344d-colord.service-hDR3Cd
drwx------. 3 root root 60 Feb 13 20:04 systemd-private-74534ca9946043cc88dbe52a38b4344d-rtkit-daemon.service-ZAQmPk
drwxrwxrwt. 2 root root 40 Feb 13 20:04 .Test-unix
drwx------. 2 user user 40 Feb 13 20:08 tracker-extract-files.1000
-r--r--r--. 1 root root 11 Feb 13 20:05 .X0-lock
drwxrwxrwt. 2 root root 60 Feb 13 20:05 .X11-unix
drwxrwxrwt. 2 root root 40 Feb 13 20:04 .XIM-unix
Aqui estão os resultados de tentar instalar nodejs
usando yum
:
[root@localhost tmp]# yum install -y nodejs
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirror.lax.hugeserver.com
* epel: mirror.sfo12.us.leaseweb.net
* extras: mirror.keystealth.org
* updates: mirror.supremebytes.com
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]#
Para o registro, gedit /etc/yum.repos.d/nodesource-el.repo
mostra o seguinte:
[nodesource]
name=Node.js Packages for Enterprise Linux 7 - $basearch
baseurl=https://rpm.nodesource.com/pub_5.x/el/7/$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/NODESOURCE-GPG-SIGNING-KEY-EL
[nodesource-source]
name=Node.js for Enterprise Linux 7 - $basearch - Source
baseurl=https://rpm.nodesource.com/pub_5.x/el/7/SRPMS
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/NODESOURCE-GPG-SIGNING-KEY-EL
gpgcheck=1
Eu suspeito que o problema pode ser resultado de ter executado este outro comando anteriormente:
curl --silent --location rpm.nodesource.com/setup | bash -
Eu estou supondo que o problema subjacente é como o yum persiste os resultados daqueles curl --silent --location ... | bash - commands
CASO DE CONTROLE:
Em uma instalação diferente e completamente nova do CentOS 7 em uma Máquina Virtual diferente, os três comandos simples a seguir instalaram com sucesso a versão atual correta 5.x de nodejs:
# cd /tmp
# curl --silent --location https://rpm.nodesource.com/setup_5.x | bash -
# yum install -y nodejs
# node --version
v5.6.0
Estes resultados do caso de controle indicam que o problema está em como o yum está configurado na máquina que está tendo o problema. Então, quais alterações específicas precisam ser feitas na máquina com o problema para que o yum seja configurado para gerar o URL de download correto? Não é razoável portar tudo para uma VM diferente. Certamente isso é apenas uma linha ou duas em uma configuração yum em algum lugar que pode ser alterada para resolver este problema.