Substitua os pacotes CentOS / RedHat de diferentes repositórios

1

Eu herdei um servidor CentOS em que o nodejs é instalado a partir do repositório epel. No entanto, eu preciso de uma versão específica dele, então eu instalei o repositório nodejs, mas não posso atualizá-lo do novo repositório, pois ele me diz o seguinte:

Loaded plugins: fastestmirror
nodesource                                                                                                                                                                                    | 2.5 kB  00:00:00     
nodesource/x86_64/primary_db                                                                                                                                                                  |  38 kB  00:00:00     
Loading mirror speeds from cached hostfile
 * base: ftp.freepark.org
 * epel: mirror.imt-systems.com
 * extras: ftp.freepark.org
 * remi: mirror.23media.de
 * remi-php56: mirror.23media.de
 * remi-safe: mirror.23media.de
 * updates: ftp.freepark.org
Resolving Dependencies
--> Running transaction check
---> Package npm.x86_64 1:3.10.10-1.6.9.4.2.el7 will be updated
---> Package npm.x86_64 1:3.10.10-1.6.10.1.2.el7 will be an update
--> Processing Dependency: nodejs = 1:6.10.1-2.el7 for package: 1:npm-3.10.10-1.6.10.1.2.el7.x86_64
--> Running transaction check
---> Package nodejs.x86_64 1:6.9.4-2.el7 will be updated
--> Processing Dependency: nodejs(x86-64) = 1:6.9.4-2.el7 for package: 1:nodejs-devel-6.9.4-2.el7.x86_64
---> Package nodejs.x86_64 1:6.10.1-2.el7 will be an update
--> Running transaction check
---> Package nodejs-devel.x86_64 1:6.9.4-2.el7 will be updated
---> Package nodejs-devel.x86_64 2:6.10.2-2nodesource.el7.centos will be an update
--> Processing Dependency: nodejs(x86-64) = 2:6.10.2-2nodesource.el7.centos for package: 2:nodejs-devel-6.10.2-2nodesource.el7.centos.x86_64
epel/x86_64/filelists_db                                                                                                                                                                      | 7.7 MB  00:00:00     
--> Running transaction check
---> Package nodejs.x86_64 1:6.9.4-2.el7 will be updated
---> Package nodejs.x86_64 1:6.9.4-2.el7 will be updated
---> Package nodejs.x86_64 1:6.10.1-2.el7 will be an update
--> Processing Dependency: nodejs = 1:6.10.1-2.el7 for package: 1:npm-3.10.10-1.6.10.1.2.el7.x86_64
---> Package nodejs.x86_64 2:6.10.2-2nodesource.el7.centos will be an update
--> Finished Dependency Resolution
Error: Package: 1:npm-3.10.10-1.6.10.1.2.el7.x86_64 (epel)
           Requires: nodejs = 1:6.10.1-2.el7
           Removing: 1:nodejs-6.9.4-2.el7.x86_64 (@epel)
               nodejs = 1:6.9.4-2.el7
           Updated By: 2:nodejs-6.10.2-2nodesource.el7.centos.x86_64 (nodesource)
               nodejs = 2:6.10.2-2nodesource.el7.centos
           Available: nodejs-6.0.0-1nodesource.el7.centos.x86_64 (nodesource)
               nodejs = 6.0.0-1nodesource.el7.centos
           Available: nodejs-6.1.0-1nodesource.el7.centos.x86_64 (nodesource)
               nodejs = 6.1.0-1nodesource.el7.centos
           Available: nodejs-6.2.0-1nodesource.el7.centos.x86_64 (nodesource)
               nodejs = 6.2.0-1nodesource.el7.centos
           Available: nodejs-6.2.1-1nodesource.el7.centos.x86_64 (nodesource)
               nodejs = 6.2.1-1nodesource.el7.centos
           Available: nodejs-6.2.2-1nodesource.el7.centos.x86_64 (nodesource)
               nodejs = 6.2.2-1nodesource.el7.centos
           Available: 1:nodejs-6.3.0-1nodesource.el7.centos.x86_64 (nodesource)
               nodejs = 1:6.3.0-1nodesource.el7.centos
           Available: 1:nodejs-6.3.1-1nodesource.el7.centos.x86_64 (nodesource)
               nodejs = 1:6.3.1-1nodesource.el7.centos
           Available: 1:nodejs-6.4.0-1nodesource.el7.centos.x86_64 (nodesource)
               nodejs = 1:6.4.0-1nodesource.el7.centos
           Available: 1:nodejs-6.6.0-1nodesource.el7.centos.x86_64 (nodesource)
               nodejs = 1:6.6.0-1nodesource.el7.centos
           Available: 1:nodejs-6.7.0-1nodesource.el7.centos.x86_64 (nodesource)
               nodejs = 1:6.7.0-1nodesource.el7.centos
           Available: 1:nodejs-6.10.1-2.el7.x86_64 (epel)
               nodejs = 1:6.10.1-2.el7
           Available: 2:nodejs-6.8.0-1nodesource.el7.centos.x86_64 (nodesource)
               nodejs = 2:6.8.0-1nodesource.el7.centos
           Available: 2:nodejs-6.8.1-1nodesource.el7.centos.x86_64 (nodesource)
               nodejs = 2:6.8.1-1nodesource.el7.centos
           Available: 2:nodejs-6.9.0-1nodesource.el7.centos.x86_64 (nodesource)
               nodejs = 2:6.9.0-1nodesource.el7.centos
           Available: 2:nodejs-6.9.1-1nodesource.el7.centos.x86_64 (nodesource)
               nodejs = 2:6.9.1-1nodesource.el7.centos
           Available: 2:nodejs-6.9.2-1nodesource.el7.centos.x86_64 (nodesource)
               nodejs = 2:6.9.2-1nodesource.el7.centos
           Available: 2:nodejs-6.9.3-1nodesource.el7.centos.x86_64 (nodesource)
               nodejs = 2:6.9.3-1nodesource.el7.centos
           Available: 2:nodejs-6.9.4-1nodesource.el7.centos.x86_64 (nodesource)
               nodejs = 2:6.9.4-1nodesource.el7.centos
           Available: 2:nodejs-6.9.5-1nodesource.el7.centos.x86_64 (nodesource)
               nodejs = 2:6.9.5-1nodesource.el7.centos
           Available: 2:nodejs-6.10.0-1nodesource.el7.centos.x86_64 (nodesource)
               nodejs = 2:6.10.0-1nodesource.el7.centos
           Available: 2:nodejs-6.10.1-1nodesource.el7.centos.x86_64 (nodesource)
               nodejs = 2:6.10.1-1nodesource.el7.centos
           Available: 2:nodejs-6.10.2-1nodesource.el7.centos.x86_64 (nodesource)
               nodejs = 2:6.10.2-1nodesource.el7.centos
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

Como você resolveria esse problema?

    
por Bert 21.04.2017 / 15:49

2 respostas

1

o repo está incompleto a montante. Está listando versões incompatíveis para diferentes partes do cálculo de dependência. Esta é uma condição SELF-INFLICTED conhecida como Dependency Hell. Isso acontece quando você mistura repositórios de terceiros janky. Além disso, compreenda realmente que a instalação de itens de terceiros abre um grande número de problemas de suporte, problemas de segurança e problemas com pacotes que desaparecem. Por favor, reconsidere seriamente se o lançamento desta semana de algo vai valer tanto do seu tempo de forma permanente, e considere se você realmente deseja passar para um novo e c7 host em vez disso.

    
por 24.08.2017 / 07:14
0

Dê uma olhada no diretório /etc/yum.repos.d/ ( ls /etc/yum.repos.d/ ), você provavelmente verá algo como nodesource-el7.repo . Execute os seguintes comandos:

sudo rm /etc/yum.repos.d/nodesource-el7.repo
yum clean all 

Agora o comando yum repolist não deve ter nodesource-el7.repo na lista exibida.

Permite instalar nodejs e npm

curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
sudo yum install -y nodejs

(o 8.x acima, pode ser 9.x ou 10.x, ou qualquer versão do nó que você queira)

Vamos verificar nossa instalação

node -v
npm -v

(com sorte) Vitória!

    
por 02.02.2018 / 15:17