Hola, intento instalar ruby ​​gem json pero da el siguiente error

`Construyendo extensiones nativas. Esto podría llevar un tiempo ... ERROR: Error al instalar json: ERROR: No se pudo compilar la extensión nativa de gem.

Mkmf.rb no puede encontrar archivos de encabezado para ruby ​​en /usr/share/include/ruby.h

Los archivos de gemas permanecerán instalados en /home/jenkins/.gem/ruby/gems/json-2.0.2 para su inspección. Resultados registrados en / home / jenkins / .gem / ruby ​​/ gems / json-2.0.2 / ext / json / ext / generator / gem_make.out`

Busqué una publicación similar y se me indicó que instalara ruby-devel. Pero eso también me ha hecho pasar un mal rato.

yum install ruby-devel
Loaded plugins: addreleaserel, priorities, product-id, search-disabled-repos, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Resolving Dependencies
--> Running transaction check
---> Package ruby-devel.x86_64 0:2.0.0.598-25.el7_1 will be installed
--> Processing Dependency: ruby(x86-64) = 2.0.0.598-25.el7_1 for package: ruby-devel-2.0.0.598-25.el7_1.x86_64
--> Finished Dependency Resolution
Error: Package: ruby-devel-2.0.0.598-25.el7_1.x86_64 (RHN-rhel-x86_64-server-optional-7-1-locked)
          Requires: ruby(x86-64) = 2.0.0.598-25.el7_1
          Installed: ruby-2.0.0.648-29.el7.x86_64 (@RHN-rhel-x86_64-server-7-latest)
              ruby(x86-64) = 2.0.0.648-29.el7
          Available: ruby-2.0.0.353-20.el7.x86_64 (RHN-rhel-x86_64-server-7)
              ruby(x86-64) = 2.0.0.353-20.el7
          Available: ruby-2.0.0.353-22.el7_0.x86_64 (RHN-rhel-x86_64-server-7)
              ruby(x86-64) = 2.0.0.353-22.el7_0
          Available: ruby-2.0.0.598-24.el7.x86_64 (RHN-rhel-x86_64-server-7)
              ruby(x86-64) = 2.0.0.598-24.el7
          Available: ruby-2.0.0.598-25.el7_1.x86_64 (RHN-rhel-x86_64-server-7-1-locked)
              ruby(x86-64) = 2.0.0.598-25.el7_1
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest

¿Alguien puede sugerirme pasos para instalar ruby-devel usando yum?

0
naresh 14 dic. 2016 a las 03:18

1 respuesta

La mejor respuesta

Algo parece estar mal en sus repositorios configurados.

Desde su mensaje de error, YUM está intentando instalar ruby-devel.x86_64 0:2.0.0.598-25.el7_1 desde el canal "RHN-rhel-x86_64-server-optional-7-1-lock", pero actualmente tiene ruby-2.0.0.648-29.el7.x86_64 instalado desde el "@ RHN-rhel-x86_64-server-7-latest "canal que no satisfará la dependencia ya que las versiones de lanzamiento no coinciden.

Para que YUM complete la transacción que publicó, tendría que instalar una versión anterior del paquete ruby ​​de RedHat y no creo que quiera hacerlo sin que se lo digan explícitamente.

Hay un par de opciones en las que puedo pensar, dependiendo de cómo quieras resolver esto. Mi primera sugerencia es qué haría si estuviera administrando este servidor, que es enderezar la configuración del repositorio y descubrir por qué yum install ruby-devel está intentando instalar un paquete más antiguo (podría tener algo que ver con ese canal bloqueado) .

La otra opción es instalar ese paquete ruby-devel por cualquier medio necesario, lo que puede no ser bueno para su suscripción a RedHat o podría romper cosas. Primero debe reemplazar la versión instalada de ruby ​​con la anterior que coincida con ruby-devel, luego intentar instalar ruby-devel:

yum downgrade ruby-2.0.0.598-25
yum install ruby-devel-2.0.0.598-25

No tengo una máquina RedHat con una suscripción, por lo que no podría probar si esta segunda sugerencia funcionaría, úsela bajo su propio riesgo. También recomendaría nuevamente que intente la primera sugerencia de arreglar sus repositorios o averiguar por qué uno de los canales está bloqueado, ya que ese método sería más seguro y podría obtener soporte de RedHat si es necesario.

Esperanza que ayuda

0
GracefulRestart 15 dic. 2016 a las 04:20