Gem のバージョンを指定する
たとえば、 Rails 2.1.0 以降なら
config/environment.rb に、以下のように書くと固定できる。
config.gem 'gettext', :lib => 'gettext/rails', :version => '~>1.9'
こっちの解説は省略、おぽんちな説明するよりほかの詳しい人のエントリを見るべきそうするべき。
uuidtools の 1.0.7 が使いたい
uuidtools の最新版である 2.0.0 を導入したら、random_create が無くなっていて、アサインされたプロジェクトのアプリケーションが実行できない!
Rails のばーじょんはなんと 2.0.2。そ、そんなばなな!
前述の config.gem を記述すると当然エラー、という訳で色々試したら出来た。
# gem install gemsonrails $ cd RAILS_ROOT $ gemsonrails $ rake gems:freeze GEM='uuidtools' VERSION='1.0.7' WARNING: Installing to ~/.gem since /opt/local/lib/ruby/gems/1.8 and /opt/local/bin aren't both writable. WARNING: You don't have /Users/donbulinux/.gem/ruby/1.8/bin in your PATH, gem executables will not run. Unpacked uuidtools 1.0.7 to 'uuidtools-1.0.7' $ rake gems:freeze GEM='uuidtools' ONLY=development
なんか変な Warning とか出てるけどこれでおk!変な Worning ったら変な Worning なの!読んだけど絶対に設定したくないでござる!絶対に設定したくないでござる!(面倒くさいので2回言いました。)
ちなみに、これはどうやら vender 以下に丸々 gem をコピーするのかしら?んで起動時に init.rb 読み込んで vender 以下の freeze させた gem を読むかどうか?いやわからん、そこまで調べてないからね!違っても謝らないでござる!絶対に謝らないでござる!ごめんね!
関係ないけど全体的にパスおかしくね?/opt/local とか ?Users(ry
MacOSX だから!そこは勘弁して欲しいってね!
ちなみに以下のようなかんじ。
$ which ruby -> /opt/local/bin/ruby $ echo $HOME -> /Users/donbulinux
さんこう:
http://gemsonrails.rubyforge.org/
Thanks Dr Nic Williams. !!!!!!!!!!!!!!!