Ошибка установки 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, если это необходимо.
надеюсь, это поможет