В RHEL7 нет рубинового дизайна?

У меня есть недавно установленная система RHEL7, и мне нужно сделать gem install jekyll, но это не так:

Fetching: yajl-ruby-1.2.1.gem (100%)
Building native extensions.  This could take a while...
ERROR:  Error installing jekyll:
        ERROR: Failed to build gem native extension.

    /usr/bin/ruby extconf.rb
mkmf.rb can't find header files for ruby at /usr/share/include/ruby.h

Google полагает, что это связано с отсутствием установленного пакета ruby-devel. Однако в RHEL7 такого пакета не существует. Нужно ли мне перемещаться в коллекцию программного обеспечения (не хочу этого делать, поскольку это будет для производственной машины, а не для разработки), или я могу получить ее другим способом?

Ответы

Ответ 1

Этот ответ приходит путем объединения бит из других ответов - так к предыдущим участникам... спасибо, потому что я бы не понял этого.

Этот пример основан на RHEL 7 AMI (управляемое изображение Amazon) 3.10.0-229.el7.x86_64.

Итак, по умолчанию, как указано выше, репозиторий optional не включен. Не добавляйте еще один файл repo.d, поскольку он уже существует, только что он отключен.

  • Чтобы включить сначала, вам нужно имя. Я использовал grep для этого:

    grep -B1 -i optional /etc/yum.repos.d/*
    

    над каждым именем будет идентификатор repo, заключенный в [ ], ищите необязательный не optional-source

  • Включить необязательное репо:

    yum-config-manager --enable <repo-id>
    
  • Обновить кеш yum (не уверен, что это необходимо, но это не повредит):

    sudo yum makecache
    
  • Наконец, вы можете установить ruby-devel:

    yum install ruby-devel
    

В зависимости от ваших прав пользователя вам может потребоваться использовать sudo.

Ответ 2

Вы должны подписаться на дополнительный репо, чтобы получить все пакеты devel.

subscription-manager repos  --enable rhel-7-server-optional-rpms

Это связано с тем, что пакет ruby-devel содержится в rhel-7-server-optional-rpms.

Ответ 3

По крайней мере, на Oracle Linux 7 вам необходимо включить дополнительное репо.

[[email protected] ~]# yum repolist
repo id                     repo name 
[...]
ol7_optional_latest/x86_64  Oracle Linux 7Server Optional Latest (x86_64)

После включения репо ruby-devel сидит там, ожидая вашей установки.

[[email protected] ~]# yum info ruby-devel | egrep 'Name|Version|From'
Name        : ruby-devel
Version     : 2.0.0.598
From repo   : ol7_optional_latest

Что все.

Ответ 4

RPM ruby-devel доступен в следующем репо на RHEL 7

RHEL-7-сервер факультативной-бета-РПЙ

Установите "enabled = 1" для этого репо в вашем файле .repo, а затем запустите

yum install ruby-devel

Ответ 5

дополнительные репозитории доступны для вашего RHEL 7

# yum -y install yum-utils
# yum repolist all

Здесь перечислены все доступные репозитории. Включите репо, в котором вы нуждаетесь. Пакеты devel, например, включают в себя дополнительные функции:

# yum-config-manager --enable rhui-REGION-rhel-server-extras

После выполнения этих шагов я смогу установить ruby-devel, augeas-devel и install/compile

# gem install ruby-augeas

Ответ 6

У меня была та же проблема, и в итоге я скачал пакет с:

https://www.rpmfind.net/linux/rpm2html/search.php?query=ruby-devel

В RHEL7.5 этот пакет может быть установлен с:

rpm -ivh ruby-devel-2.0.0.648-33.el7_4.x86_64.rpm

Кроме того, средства разработки могут быть установлены до этого с использованием:

yum groupinstall "Development Tools"

Ответ 7

Установите пакет ruby ​​в свою систему и повторите попытку.

sudo yum install ruby193-ruby-devel.x86_64

Ответ 8

Я использовал команды, как показано ниже, и работал

yum-config-manager --enable rhui-REGION-rhel-server-extras
yum info ruby-devel | egrep 'Name|Version|From'
yum install ruby-devel