文脈では、それはファイアウォールを持っているリモートサーバー上にあります。プロキシを介して環境を設定しています。私は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
何が問題なのかわからないので、グーグルしてこれらを見つけました
gem install:gemネイティブエクステンションの構築に失敗しました(ヘッダファイルが見つかりません) - ここでの説明はインストールされているgemに特有のもののようです。
json gemのインストール方法 - gemネイティブエクステンションの構築に失敗しました これは多少異なるエラーのようです。
何かヒントは?ありがとうございます。
あなたが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 Ruby2.3-dev
または、一般的な方法:
Sudo apt-get install Ruby`ruby -e 'puts Ruby_VERSION[/\d+\.\d+/]'`-dev
最初に投稿したリンクは 正確に あなたの場合です。Ruby開発環境はインストールされていません。 Rubyの拡張機能をコンパイルするには開発環境が必要です。これらの拡張機能は、ほとんどC
で書かれています。 Proxyはこの問題とは何の関係もありません。すべてがうまくダウンロードされ、コンパイルが失敗するだけです。
ターゲットマシンに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
Ruby 2.0または2.2(Thanks @ patrick-davey)または2.3(Thanks @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
Mac OS Xでこれを手に入れている人のために、XCodeが既にインストールされている場合でも、XCodeコマンドラインツールをインストールするために次のコマンドを実行する必要があります。
Sudo xcode-select --install
また、次のコマンドを実行してXCodeの利用規約に同意する必要があります。
Sudo xcodebuild -license
Cygwinを使用して次のコマンドを実行したところ、同様の問題が発生しました。
$ gem install rerun
私は以下のcygwinパッケージをインストールすることによってそれを解決しました:
ほとんどの投票された解決策は私のマシンではうまくいきませんでした(linux mint 18.04)。注意深く見たところ、g ++が見つからないことがわかりました。で解決
Sudo apt-get install g ++
sUSEを使う場合
Sudo yast2 -i Ruby-devel
Fedora 21以降では、端末を開いてRuby開発ファイルをrootとしてインストールするだけです。
dnf install Ruby-devel
Ruby-develをインストールした後にgccをインストールする必要があるかもしれません