安装json gem时出错“mkmf.rb找不到ruby的头文件”

对于上下文,它位于具有防火墙的远程服务器上。我正在通过代理设置我的环境。我有ruby 1.8.7。当我尝试安装gem时

sudogem安装–http代理<主机地址>:&书信电报;港口>json

我得到以下错误:

构建本机扩展。这可能需要一段时间。。。
错误:安装json时出错:
错误:无法生成gem本机扩展。
/usr/bin/ruby extconf.rb
mkmf.rb在/usr/lib/ruby/ruby.h中找不到ruby的头文件
Gem文件仍将安装在/usr/lib64/ruby/gems/1.8/gems/json-1.8.1中以供检查。
结果记录到/usr/lib64/ruby/gems/1.8/gems/json-1.8.1/ext/json/ext/generator/gem_make.out

因为我不确定问题出在哪里,我在谷歌上搜索并找到了这些

  • gem安装:未能构建gem本机扩展(无法找到头文件)-此处的说明似乎特定于正在安装的gem

  • 如何安装json gem-未能构建gem本机扩展这似乎是一个稍有不同的错误

有什么提示吗?谢谢

现代更新,如mimoralea所述:

如果您使用的是ruby 2.0或2.2(谢谢@patrick davey)

sudo apt get install ruby2.0-dev
sudo apt get安装ruby2.2-dev
sudo apt get安装ruby2.3-dev

或者,一般方式:

sudoapt-get-install-ruby-dev

sudo apt get install ruby`ruby-e'将ruby\u版本[/\d+\.\d+/]'`-dev

您发布的第一个链接正是您的案例:没有安装ruby开发环境。编译ruby扩展需要Development env,这些扩展大多是用C编写的。代理与问题无关:所有内容都可以正常下载,只是编译失败

我建议您在目标机器上安装ruby-devruby-develfor rpm-based发行版)包

gcc包也可能需要

尝试:

$sudo apt-get-install-ruby-dev

或者,对于Redhat发行版:

$sudo yum安装ruby-devel

或者,对于[开放式]用户:

$sudo zypper安装ruby-devel

发表评论