Bundler i wiele platform Ruby'ego

Do testów używam cucumbera wraz z celerity poprzez culerity. A, że celerity korzysta z html_unit to musi działać na jrubym.

Bundlerem zainstalowalem gemy do ./vendor

i mam wszystkie gemy dla MRI w ./vendor/ruby/gems
a celerity w ./vendor/jruby/gems/celerity-…

OK, tak jest dobrze bo celerity jest oznaczony w Gemfile’u jako :platform => ‘jruby’

ale gdy chcę skorzystać z testów wywala mi błąd:

/usr/lib/jruby//lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require': no such file to load -- celerity (LoadError) from /usr/lib/jruby//lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' from <my_project_path>/vendor/ruby/1.8/gems/culerity-0.2.12/lib/culerity/celerity_server.rb:2 from <my_project_path>/ruby/1.8/gems/culerity-0.2.12/lib/culerity/celerity_server.rb:36:in `require' from /usr/lib/jruby//lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `require' from <my_project_path>/ruby/1.8/gems/culerity-0.2.12/lib/start_celerity.rb:2 undefined method `first' for nil:NilClass (NoMethodError) <my_project_path>/vendor/ruby/1.8/gems/culerity-0.2.12/lib/culerity/remote_object_proxy.rb:51:in `process_result' <my_project_path>/ruby/1.8/gems/culerity-0.2.12/lib/culerity/remote_object_proxy.rb:40:in `send_remote' <my_project_path>/vendor/ruby/1.8/gems/culerity-0.2.12/lib/culerity/remote_object_proxy.rb:25:in `method_missing' <my_project_path>/vendor/ruby/1.8/gems/culerity-0.2.12/lib/culerity/remote_browser_proxy.rb:8:in `initialize' ./features/support/env.rb:78:in `new' ./features/support/env.rb:78 <my_project_path>/ruby/1.8/gems/polyglot-0.2.9/lib/polyglot.rb:70:in `polyglot_original_require' <my_project_path>/ruby/1.8/gems/polyglot-0.2.9/lib/polyglot.rb:70:in `require' <my_project_path>/ruby/1.8/gems/cucumber-0.3.11/bin/../lib/cucumber/cli/main.rb:95:in `require_files' <my_project_path>/ruby/1.8/gems/cucumber-0.3.11/bin/../lib/cucumber/cli/main.rb:104:in `each_lib' <my_project_path>/ruby/1.8/gems/cucumber-0.3.11/bin/../lib/cucumber/cli/main.rb:102:in `each' <my_project_path>/ruby/1.8/gems/cucumber-0.3.11/bin/../lib/cucumber/cli/main.rb:102:in `each_lib' <my_project_path>/ruby/1.8/gems/cucumber-0.3.11/bin/../lib/cucumber/cli/main.rb:95:in `require_files' <my_project_path>/ruby/1.8/gems/cucumber-0.3.11/bin/../lib/cucumber/cli/main.rb:47:in `execute!' <my_project_path>/ruby/1.8/gems/cucumber-0.3.11/bin/../lib/cucumber/cli/main.rb:25:in `execute' <my_project_path>/ruby/1.8/gems/cucumber-0.3.11/bin/cucumber:9 <my_project_path>/ruby/1.8/bin/cucumber:23:in `load' <my_project_path>/ruby/1.8/bin/cucumber:23
JRuby jest uruchamiany jako nowy proces i zastanawiam się jakie gemy on wtedy “zna”. Napewno nie widzi celerity zainstalowanego przez bundlera…