json gemのインストール中にエラーが発生しました 'mkmf.rbはrubyのヘッダーファイルを見つけることができません' 質問する

json gemのインストール中にエラーが発生しました 'mkmf.rbはrubyのヘッダーファイルを見つけることができません' 質問する

コンテキストとしては、ファイアウォールのあるリモート サーバー上にあります。プロキシ経由で環境を設定しています。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

何が問題なのかわからなかったので、グーグルで調べたら、

何かヒントはありますか? ありがとう!

ベストアンサー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

おすすめ記事