RubyInstallerのMinGW32なRubyでのgem installでmakeが必要なとき
過去記事「RubyInstallerのRubyでgem使うとmakeが要ると言われるんですが」(何もない跡地)のリサイクルです
今回は「毎回 gem install --platform mswin32 hogehoge する(new!)」「DevKit 入れとく[update]」「諦めて MSWin32 な Ruby を使う」の3本ですんがんんWindows において、RubyInstaller でインストールされた Ruby を使用していると、gem install 時に稀に「'make' は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません。」と文句を言われてインストールできないことがあります。
C:\Documents and Settings\きたももんが>gem install -V watir GET 302 Found: http://gems.rubyforge.org/latest_specs.4.8.gz (中略) Installing gem win32-api-1.4.5 (中略) Building native extensions. This could take a while... ERROR: Error installing watir: ERROR: Failed to build gem native extension. C:/Ruby/bin/ruby.exe extconf.rb checking for strncpy_s()... no creating Makefile make 'make' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。「MinGW32版Rubyだと検知しましたがこれはWindows版ではないと思うので自前コンパイルします…makeコマンドがありません終了」
という流れになっています。MinGW でコンパイルされた Ruby があまり知られてなかった大昔の gem パッケージにありがちです。
これの対処法書きます。
- gem install --platform mswin32 してみる
- Ruby DevKit で MinGW の make をインストールしてしまう
- MSWin32 の Ruby を使う
の 3 通りです。
windows版rubyでgemのインスコに失敗した場合の対処方法。
RubyDevKitってのを入れたら解決した