安装json gem时出错'mkmf.rb找不到ruby的头文件'
对于上下文,它在具有防火墙的远程服务器上。 我正在通过代理设置我的环境。 我有ruby 1.8.7 。 当我尝试gem安装.. 
 sudo gem install --http-proxy <host address>:<port> json 
我得到以下错误:
 Building native extensions. This could take a while... ERROR: Error installing json: ERROR: Failed to build gem native extension. /usr/bin/ruby extconf.rb mkmf.rb can't find header files for ruby at /usr/lib/ruby/ruby.h Gem files will remain installed in /usr/lib64/ruby/gems/1.8/gems/json-1.8.1 for inspection. Results logged to /usr/lib64/ruby/gems/1.8/gems/json-1.8.1/ext/json/ext/generator/gem_make.out 
由于我不确定问题是什么,我search了一下,发现了这些
- 
gem install:无法构buildgem原生扩展(无法find头文件) – 这里的说明似乎是特定于正在安装的gem。 
- 
如何安装json gem – 无法构buildgem原生扩展这似乎是稍有不同的错误。 
任何提示? 谢谢!
现代时代更新,如mimoralea所述 :
如果你使用的是Ruby 2.0或者2.2(谢谢@patrick-davey)。
sudo apt-get install ruby-dev sudo apt-get install ruby2.0-dev sudo apt-get install ruby2.2-dev
或者,通用的方式:
sudo apt-get install ruby`ruby -e 'puts RUBY_VERSION[/\d+\.\d+/]'`-dev
 你发布的第一个链接就是你的情况:没有安装ruby开发环境。 编译ruby扩展需要开发env,这些扩展主要是用C编写的。 代理与问题无关:一切正常下载正常,只是编译失败。 
 我build议你安装ruby-dev (基于rpm的发行版的ruby-devel )包到你的目标机器上。  gcc包可能也需要。 
尝试:
 $ sudo apt-get install ruby-dev 
或者,对于Redhat发行版:
 $ sudo yum install ruby-devel 
或者,对于[开放] SuSE:
 $ sudo zypper install ruby-devel 
如果你使用的是Ruby 2.0或者2.2(谢谢@patrick-davey)或者2.3(谢谢@juanitofatas)。
 sudo apt-get install ruby-dev sudo apt-get install ruby2.0-dev sudo apt-get install ruby2.2-dev sudo apt-get install ruby2.3-dev 
你在这里得到的模式…
我也遇到了这个问题,因为我通过brightbox在Ubuntu上安装了Ruby ,我认为ruby-dev是ruby的主干。 所以我没有安装。 安装ruby2.3-dev修复它:
 sudo apt-get install ruby2.3-dev 
以防你使用SUSE
 sudo yast2 -i ruby-devel 
我有一个类似的问题使用cygwin运行以下命令:
 $ gem install rerun 
我通过安装下面的cygwin包来解决它:
- rubydevel的
- libffi-devel的
- GCC核心
- GCC-克++
- 使
- automake1.15
在Fedora 21中,只需打开一个terminal并以root用户身份安装Ruby Development文件即可。
 dnf install ruby-devel 
安装ruby-devel之后,你可能需要安装gcc