对于上下文,它位于具有防火墙的远程服务器上。我正在通过代理设置我的环境。我有 ruby 1.8.7
。当我尝试 gem install..
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
由于我不确定问题是什么,所以我搜索并找到了这些
有什么提示吗?谢谢!
现代更新,如 stated by mimoralea :
In case that you are using ruby 2.0 or 2.2 (thanks @patrick-davey).
sudo apt-get install ruby2.0-dev
sudo apt-get install ruby2.2-dev
sudo apt-get install ruby2.3-dev
或者,通用方式:
sudo apt-get install ruby-dev
or
sudo apt-get install ruby`ruby -e 'puts RUBY_VERSION[/\d+\.\d+/]'`-dev
您发布的第一个链接正是您的情况:没有安装 ruby 开发环境。需要开发环境来编译 ruby 扩展,这些扩展大多是用 C
编写的。代理与问题无关:一切正常下载,只是编译失败。
我建议你在你的目标机器上安装 ruby-dev
(ruby-devel
用于基于 rpm 的发行版)包。
gcc
包也可能需要。
试试:
$ sudo apt-get install ruby-dev
或者,对于 Redhat 发行版:
$ sudo yum install ruby-devel
或者,对于 [open]SuSE:
$ sudo zypper install ruby-devel
我是一名优秀的程序员,十分优秀!