对于上下文,它位于具有防火墙的远程服务器上。我正在通过代理设置我的环境。我有ruby 1.8.7。当我尝试gem install ..
ruby 1.8.7
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
有什么提示吗?谢谢!
如mimoralea所述,现代更新:
如果您使用的是ruby 2.0或2.2(感谢@ patrick-davey)。 sudo apt-get install ruby2.0-dev sudo apt-get install ruby2.2-dev sudo apt-get install ruby2.3-dev
如果您使用的是ruby 2.0或2.2(感谢@ 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 要么 sudo apt-get install ruby`ruby -e 'puts RUBY_VERSION[/\d+\.\d+/]'`-dev
sudo apt-get install ruby-dev
要么
sudo apt-get install ruby`ruby -e 'puts RUBY_VERSION[/\d+\.\d+/]'`-dev
您发布的第一个链接 正是 您的情况:没有安装ruby开发环境。需要开发环境来编译ruby扩展,这些扩展大部分是用编写的C。代理与问题无关:一切都下载良好,只是编译失败。
C
我建议您将软件包ruby-dev(ruby-devel基于rpm的发行版)安装到目标计算机上。
ruby-dev
ruby-devel
gcc 包可能也是需要的。
gcc
尝试:
$ sudo apt-get install ruby-dev
或者,对于Redhat发行版:
$ sudo yum install ruby-devel
或者,对于[open] SuSE:
$ sudo zypper install ruby-devel