我有一个最近安装的RHEL7系统,需要做gem安装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中似乎 这样的包。我是否需要转移到软件集合(不是真的想要这样做,因为这将用于生产机器,而不是开发)或者我可以通过其他方式获得它吗?
答案 0 :(得分:31)
这个答案是通过拼凑其他答案中的位来实现的 - 所以对于之前的贡献者......谢谢你,因为我不会想到这一点。
此示例基于RHEL 7 AMI(亚马逊管理映像)3.10.0-229.el7.x86_64。
因此,默认情况下,如上所述,optional
存储库未启用。不要再添加另一个repo.d文件,因为它已被禁用。
首先启用您需要的名称。我用grep做了这个:
grep -B1 -i optional /etc/yum.repos.d/*
每个名称上方的将包含在[ ]
中的回购ID,以查找可选不 optional-source
启用可选的repo:
yum-config-manager --enable <repo-id>
刷新yum缓存(不确定是否有必要,但不会造成伤害):
sudo yum makecache
最后,您可以安装ruby-devel
:
yum install ruby-devel
根据您的用户权限,您可能需要使用sudo
。
答案 1 :(得分:6)
您需要订阅可选回购以获取所有开发包。
subscription-manager repos --enable rhel-7-server-optional-rpms
这是因为ruby-devel
包中包含rhel-7-server-optional-rpms
包。
答案 2 :(得分:2)
至少在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
就是这样。
答案 3 :(得分:1)
ruby-devel RPM可在RHEL 7上的以下回购中找到
RHEL -7-服务器可选-β-的rpm
设置&#34;启用= 1&#34;在.repo文件中的这个repo然后运行
yum install ruby-devel
答案 4 :(得分:0)
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
答案 5 :(得分:0)
我遇到了同样的问题,最终从以下网址下载了该软件包:
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"
答案 6 :(得分:-1)
在您的系统上安装ruby软件包,然后重试。
sudo yum install ruby193-ruby-devel.x86_64
答案 7 :(得分:-1)
我使用了如下命令,但它有效
yum-config-manager --enable rhui-REGION-rhel-server-extras
yum info ruby-devel | egrep 'Name|Version|From'
yum install ruby-devel
答案 8 :(得分:-1)
您可以从以下网址下载:
http://rpm.pbone.net/index.php3/stat/3/srodzaj/1/search/ruby-devel(x86-64)
这样的事情会起作用:
wget ftp://bo.mirror.garr.it/1/centos/7.2.1511/os/x86_64/Packages/ruby-devel-2.0.0.598-25.el7_1.x86_64.rpm
rpm -ivh ruby-devel-2.0.0.598-25.el7_1.x86_64.rpm