windows の 64bit で ruby は茨の道?

windows の 64bit で ruby は茨の道?


windows 7 64bi と truby 2.0 と Rails 4.0 の組み合わせて
ruby tutorial (http://ruby.railstutorial.org/ruby-on-rails-tutorial-book)
をやろうとしてるんだけど、
まぁ、なんというか、どうにもこうにも、うまくいかないことが多い


・nokogiri が入らない

 これは、Windows 環境だからか。
 
 ここの内容が参考になった
 http://www.kaoriya.net/blog/2013/03/29/


 んが、自分の環境では libxslt がコンパイルできない。

 

 いろいろ調べた結果

 http://www.zlatkovic.com/libxml.en.html

 から、コンパイル済みのモジュールを落としてきて、gem をたたいて何とかなった。

 落とすモジュールは、自分の場合は3つだった
  iconv
  libxml
  libxslt

 んで、適当なフォルダに解凍して、gem コマンド。
 自分の場合は
  --with-xml2-dir
  --with-xslt-dir
  -with-iconv-dir
 オプションで、解凍したフォルダを指定した。

 gem install nokogiri --platform=ruby -- --with-xml2-dir=C:/tool/Develop/ruby/lib/libxml --with-xslt-dir=C:/tool/Develop/ruby/lib/libxslt --with-iconv-dir=C:/tool/Develop/ruby/lib/iconv

 こんな感じ


postgreSQL のドライバが入らない?

 Gemfiile に

 gem 'pg'

 と書いて、

 bundle install
 bundle update

 とかやるのに、rails の DB 関連のコマンドをたたくと「pg がないよ」と怒られる(>_<


 Gemfile.lock を見ると

 pg (0.16.0-x86-mingw32)

 とあり、32bit 版が入ってるような雰囲気


 https://bitbucket.org/ged/ruby-pg/issue/169
 をみると、bundler のバグだ、とあいてあるような、、

 Gemfile.lock ファイルに
  PLATFORMS
   ruby
   x64-mingw32
   x86-mingw32
 こう書いて、Genfile に

 gem "pg", "~> 0.16.0"

 とかく。
 参考:http://rubygems.org/gems/pg/versions/0.16.0-x64-mingw32

 すると、うごいた。


 途中、メモってないコマンドも何かたたいたので、これだけでは動かないかもしれない、、、


・Guard が動かない

 tutorial の 3.6.2 に書いてあった

 bundle exec guard init rspec

 とやると、「pry がないよ」と怒られる。

 これも、Gemfile.lock をみると

 pry (0.9.12.2-x86-mingw32)

 と書かれていて、どうも、32bit 版が入っているみたい、、、




 もう、この辺で力尽きた、、、

 Ruby 32bit 版でやったほうが、まだ先に進む気がしてきた、




 とりあえず ruby の 64bit 版で環境周り作るのはもうやめ。