Sooey

2010-11-01 19:13:32 +0900

Railsプロジェクトでlib/tasks/jasmine.rbに以下のような記述をしていると、

begin
  require 'jasmine'
  load 'jasmine/tasks/jasmine.rake'
rescue LoadError
  STDERR.puts "Run `rake gems:install` to install jasmine"
end

rakeコマンドを実行した時にconfig/environments.rbに書かれた依存gemの設定よりも先にJasmineがロードされ、それに引きづられてインストール済みの最新のrspecがロードされてしまい、environments.rbで指定してあるちょっと前のバージョンのrspecがロードできないという悩ましい問題が起こる。

rspecをvendor/gems以下に展開してしまえばよさそうなので、とりあえずそのようにした。