@ledsun blog

無味の味は佳境に入らざればすなわち知れず

pik環境でDevKitをインストール WindowsでRuby

f:id:ledsun:20130117002126j:plain

pik*1環境でrdocインストールしたところjsonのインストールでエラーが起きました。

>>ERROR: Error installing json:
The 'json' native gem requires installed build tools.

Please update your PATH to include build tools or download the DevKit
from 'http://rubyinstaller.org/downloads’ and follow the instructions
at 'http://github.com/oneclick/rubyinstaller/wiki/Development-Kit’

jsonのインストールにはDevKitが必要です*2

DevKitをインストール

通常、DevKitはインストール対象のRuby*3自動で検出します。 pik上のRubyは検出できないため、手動で*4インストール先を設定する必要があります。

ダウンロードと解凍

Downloadsから DevKit-tdm-32-4.5.2-20111229-1559-sfx.exe をダウンロード。 今時珍しい自己解凍形式です。解凍したら中身がフォルダにまとめられずそのまま出てきます。デフォルトのまま解凍せずに、適当な名前のフォルダを作って解凍先に指定しましょう。

config.ymlを作成

解凍したディレクトリに移動して

ruby dk.rb init

config.ymlが作成されます。インストール対象のRubyのパスを config.yml に書きます。 ユーザディレクトリの .pik フォルダにconfig.ymlがあるので参考にします。次のような内容です。

--- 
"187: ruby 1.8.7 (2012-10-12 patchlevel 371) [i386-mingw32]": 
  :path: !ruby/object:Pathname 
    path: C:/Users/ledsun/.pik/rubies/Ruby-187-p371/bin
"193: ruby 1.9.3p125 (2012-02-16) [i386-mingw32]": 
  :path: !ruby/object:Pathname 
    path: C:/RailsInstaller/Ruby1.9.3/bin
--- {}

config.ymlを編集

DevKitのconfig.ymlを編集します。

---
- C:/Users/ledsun/.pik/rubies/Ruby-187-p371

頭のダッシュをつけるのとおしりの/binを取るのを忘れがちです。 引数に review を指定して正しく編集できたか確認します。

C:\Users\ledsun\Downloads\dk>ruby dk.rb review
Based upon the settings in the 'config.yml' file generated
from running 'ruby dk.rb init' and any of your customizations,
DevKit functionality will be injected into the following Rubies
when you run 'ruby dk.rb install'.

C:/Users/ledsun/.pik/rubies/Ruby-187-p371

指定したRubyが正しく検出されました。インストールを実行します。

インストール

ruby dk.rb install

おしまい。Enjoy your rubyist life.

DevKitを使わないとgemが入らない場合(pikを使っていてもだいじょうぶ)を参考にしました。

*1:Windows用のrvm

*2:jsonに限らず、C/C++で書かれたコンパイルが必要な拡張ライブラリをインストールする際には必要です。詳しくは「はじめてのRuby on Rails3」サポートページ「DevKitの使い方」が参考になります。

*3:ruby dk.rb initを実行した時に

*4:config.ymlに