最近インストールした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にはbeのようなパッケージはないようです。ソフトウェアコレクションに移動する必要がありますか(これは、開発ではなく実稼働マシン用であるため、実際に実行したくない)、または他の方法で入手できますか?
この回答は、他の回答からのビットをつなぎ合わせることによってもたらされます-したがって、以前の貢献者に...私はこれを理解していなかったのでありがとう。
この例は、RHEL 7 AMI(Amazon Managed Image)3.10.0-229.el7.x86_64に基づいています。
そのため、上記のデフォルトでは、optional
リポジトリは有効になっていません。別のrepo.dファイルは、無効になっているだけで既に存在するため、追加しないでください。
最初に有効にするには、名前が必要です。これを行うにはgrepを使用しました。
grep -B1 -i optional /etc/yum.repos.d/*
各名前の上には、[ ]
で囲まれたリポジトリIDがあります。オプションのnotoptional-source
を探してください
オプションのリポジトリを有効にします。
yum-config-manager --enable <repo-id>
Yumキャッシュを更新します(これが必要かどうかはわかりませんが、害はありません)。
Sudo yum makecache
最後に、Ruby-devel
をインストールできます:
yum install Ruby-devel
ユーザーの権限によっては、Sudo
を使用する必要がある場合があります。
すべての開発パッケージを取得するには、optionalリポジトリにサブスクライブする必要があります。
subscription-manager repos --enable rhel-7-server-optional-rpms
これは、Ruby-devel
パッケージがrhel-7-server-optional-rpms
リポジトリに含まれているためです。
少なくともOracle Linux 7では、追加のリポジトリを有効にする必要があります。
[root@foo ~]# yum repolist
repo id repo name
[...]
ol7_optional_latest/x86_64 Oracle Linux 7Server Optional Latest (x86_64)
リポジトリを有効にした後Ruby-devel
そこに座って、インストールを待っています。
[root@foo ~]# yum info Ruby-devel | egrep 'Name|Version|From'
Name : Ruby-devel
Version : 2.0.0.598
From repo : ol7_optional_latest
それで全部です。
Ruby-devel RPMは、RHEL 7の次のリポジトリで入手できます。
rhel-7-server-optional-beta-rpms
.repoファイルでこのレポの「enabled = 1」を設定してから実行します
yum install Ruby-devel
rHEL 7で追加のリポジトリを利用できます
# yum -y install yum-utils
# yum repolist all
これにより、利用可能なすべてのリポジトリが一覧表示されます。必要なリポジトリを有効にします。たとえば、develパッケージは追加機能です。
# yum-config-manager --enable rhui-REGION-rhel-server-extras
これらの手順を実行した後、Ruby-devel、augeas-devel、およびインストール/コンパイルをインストールできます
# gem install Ruby-augeas
私は同じ問題を抱えていて、パッケージを次の場所からダウンロードしました。
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"