コンテキストとしては、ファイアウォールのあるリモート サーバー上にあります。プロキシ経由で環境を設定しています。gemruby 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
何が問題なのかわからなかったので、グーグルで調べたら、
gem インストール: gem ネイティブ拡張機能のビルドに失敗しました (ヘッダー ファイルが見つかりません)- ここでの手順は、インストールする gem に固有のようです。
json gemのインストール方法 - gemネイティブ拡張機能のビルドに失敗しましたこれは少し異なるエラーのようです。
何かヒントはありますか? ありがとう!
ベストアンサー1
現代のアップデートとして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
または、一般的な方法:
sudo apt-get install ruby-dev
または
sudo apt-get install ruby`ruby -e 'puts RUBY_VERSION[/\d+\.\d+/]'`-dev
あなたが投稿した最初のリンクはまさにあなたのケースです。Ruby 開発環境がインストールされていません。開発環境は、主に で記述されている Ruby 拡張機能をコンパイルするために必要ですC
。プロキシは問題とは関係ありません。すべて正常にダウンロードされ、コンパイルが失敗するだけです。
ターゲットマシンにruby-dev
( rpm ベースのディストリビューションの場合) パッケージをインストールすることをお勧めします。ruby-devel
gcc
パッケージも必要になる場合があります。
試す:
$ sudo apt-get install ruby-dev
または、Redhat ディストリビューションの場合:
$ sudo yum install ruby-devel
または、[open]SuSE の場合:
$ sudo zypper install ruby-devel