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 版で環境周り作るのはもうやめ。