web-dev-qa-db-ja.com

RHEL7にRuby開発はありませんか?

最近インストールした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のようなパッケージはないようです。ソフトウェアコレクションに移動する必要がありますか(これは、開発ではなく実稼働マシン用であるため、実際に実行したくない)、または他の方法で入手できますか?

19
user3852791

この回答は、他の回答からのビットをつなぎ合わせることによってもたらされます-したがって、以前の貢献者に...私はこれを理解していなかったのでありがとう。

この例は、RHEL 7 AMI(Amazon Managed Image)3.10.0-229.el7.x86_64に基づいています。

そのため、上記のデフォルトでは、optionalリポジトリは有効になっていません。別のrepo.dファイルは、無効になっているだけで既に存在するため、追加しないでください。

  1. 最初に有効にするには、名前が必要です。これを行うにはgrepを使用しました。

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

    各名前の上には、[ ]で囲まれたリポジトリIDがあります。オプションのnotoptional-sourceを探してください

  2. オプションのリポジトリを有効にします。

    yum-config-manager --enable <repo-id>
    
  3. Yumキャッシュを更新します(これが必要かどうかはわかりませんが、害はありません)。

    Sudo yum makecache
    
  4. 最後に、Ruby-develをインストールできます:

    yum install Ruby-devel
    

ユーザーの権限によっては、Sudoを使用する必要がある場合があります。

31
juice

すべての開発パッケージを取得するには、optionalリポジトリにサブスクライブする必要があります。

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

これは、Ruby-develパッケージがrhel-7-server-optional-rpmsリポジトリに含まれているためです。

6
slk

少なくとも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

それで全部です。

2
far4d

Ruby-devel RPMは、RHEL 7の次のリポジトリで入手できます。

rhel-7-server-optional-beta-rpms

.repoファイルでこのレポの「enabled = 1」を設定してから実行します

yum install Ruby-devel

1
BOH

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
0
Neil Millard

私は同じ問題を抱えていて、パッケージを次の場所からダウンロードしました。

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"
0
0xack13