web-dev-qa-db-ja.com

Windowsを使用してRails)にJSONgemをインストールできません

バンドルインストールを実行していますが、JSON gemに到達すると、JSONを除くすべてのgemが正常に機能します。このエラーが発生します。

Installing json (1.6.1) with native extensions c:/Ruby192/lib/Ruby/site_Ruby/1.9.1/rubygems/installer.rb:55
    2:in `rescue in block in build_extensions': ERROR: Failed to build gem native extension. (Gem::Installer::E
    xtensionBuildError)

            c:/Ruby192/bin/Ruby.exe extconf.rb
    checking for re.h... *** extconf.rb failed ***
    Could not create Makefile due to some reason, probably lack of
    necessary libraries and/or headers.  Check the mkmf.log file for more
    details.  You may need configuration options.

このエラーの原因について何か考えはありますか?

12
Ray A.

Windowsを使用しているため、RubyInstaller開発キットが役立つ場合があります。 http://rubyinstaller.org/add-ons/devkit/

Devkitは、Cコンパイラ(およびその他のいくつかのもの)をインストールして、Cで記述された部分をコンパイルします。

それをインストールして、gemのインストールを再試行してください-おそらくオプション--platform=Ruby

詳細は https://github.com/oneclick/rubyinstaller/wiki/Development-Kit にあります。

16
knut

これは、このgemがCで記述されたコードを使用しているためです。正しく機能するには、マシンにcコンパイラがインストールされている必要があります。方法として、純粋なRubyで書かれた json_pure を使用してみてください

4
WarHog

私はRORの専門家ではありませんが、Redmineのインストール中に発生したJSONインストールの問題は、次のようにすることで解決されました。

  • D:\ LANGS\MinGW\binにmake.batを作成します
  • このディレクトリをPATHに保持します
  • 上記のmake.batを編集して、D:\ LANGS\MinGW\msys\1.0\bin\make.exeという行を追加します。

私が気付いたのは、mingw32-make.exeは機能しなかったが、「D:\ LANGS\MinGW\msys\1.0\bin\make.exe」は機能したということです。

注:私のMinGWインストールはD:\ LANGS \の下にあります。特定のインストールでそれに応じて変更を加えてください。

0
junkle