Ошибка установки ruby-devel с использованием yum?

Здравствуйте, я пытаюсь установить ruby ​​gem json, но выдает следующую ошибку

`Создание собственных расширений. Это может занять некоторое время... ОШИБКА: Ошибка при установке json: ОШИБКА: не удалось создать собственное расширение gem.

mkmf.rb не может найти заголовочные файлы для ruby ​​на /usr/share/include/ruby.h

Gem-файлы останутся установленными в /home/jenkins/.gem/ruby/gems/json-2.0.2 для проверки. Результаты записываются в / home / jenkins /.gem / ruby ​​/gems/json-2.0.2/ext/json/ext/generator/gem_make.out`

Я посмотрел похожий пост и был направлен на установку ruby-devel. Но это также дало мне трудное время.

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

Может кто-нибудь предложить мне шаги для установки ruby-devel с использованием yum? Пожалуйста

1 ответ

Решение

Что-то не так с вашими настроенными репозиториями.

Из вашего сообщения об ошибке YUM пытается установить ruby-devel.x86_64 0:2.0.0.598-25.el7_1 из канала "RHN-rhel-x86_64-server-option-7-1-locked", но в настоящее время у вас есть ruby-2.0.0.648-29.el7.x86_64 устанавливается из канала "@RHN-rhel-x86_64-server-7-latest", который не будет удовлетворять зависимости, поскольку версии выпуска не совпадают.

Чтобы YUM завершил транзакцию, которую вы разместили, ему нужно будет установить более старую версию пакета ruby ​​RedHat, и я не думаю, что он хочет сделать это без явного уведомления.

Есть несколько вариантов, которые я могу придумать, в зависимости от того, как вы хотите решить эту проблему. Мое первое предложение - это то, что я хотел бы сделать, если бы управлял этим сервером, чтобы уточнить конфигурацию хранилища и выяснить, почему yum install ruby-devel пытается установить более старый пакет (возможно, это связано с заблокированным каналом).

Другой вариант - установить пакет ruby-devel любым необходимым способом, который может не подходить для вашей подписки RedHat или привести к поломке. Сначала вы замените установленную версию ruby ​​более старой версией, соответствующей ruby-devel, а затем попытаетесь установить ruby-devel:

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

У меня нет машины RedHat с подпиской, поэтому я не смог бы проверить, сработает ли второе предложение, на свой страх и риск. Я также рекомендовал бы снова попробовать первое предложение по исправлению ваших репозиториев или выяснить, почему один из каналов заблокирован, так как этот метод будет безопаснее, и вы можете получить поддержку от RedHat, если это необходимо.

надеюсь, это поможет

Другие вопросы по тегам