2012-03-20 62 views
1

我在Dropbox和兩個正在運行的筆記本上安裝了一個項目:一個使用Ubuntu,一個使用Mac OS X Lion 10.7.3。當我嘗試對它們運行良好運行的Ubuntu要麼rspec的或黃瓜,但是當我試圖在Mac上運行測試我有 的config/application.rb中同樣的錯誤:13:Bundler.require(*Rails.groups(:assets => %w(development test)))測試在我的Ubuntu PC上運行,但不在我的Mac OS X Lion 10.7.3,Ruby 1.9.3,Rails 3.2.1上運行

對於黃瓜:

Using the default profile... 
undefined method `gsub' for nil:NilClass (NoMethodError) 
/Users/sergey/.rvm/gems/[email protected]/gems/bundler-1.1.1/lib/bundler/runtime.rb:77:in `rescue in rescue in block in require' 
/Users/sergey/.rvm/gems/[email protected]/gems/bundler-1.1.1/lib/bundler/runtime.rb:72:in `rescue in block in require' 
/Users/sergey/.rvm/gems/[email protected]/gems/bundler-1.1.1/lib/bundler/runtime.rb:62:in `block in require' 
/Users/sergey/.rvm/gems/[email protected]/gems/bundler-1.1.1/lib/bundler/runtime.rb:55:in `each' 
/Users/sergey/.rvm/gems/[email protected]/gems/bundler-1.1.1/lib/bundler/runtime.rb:55:in `require' 
/Users/sergey/.rvm/gems/[email protected]/gems/bundler-1.1.1/lib/bundler.rb:119:in `require' 
/Users/sergey/Dropbox/rails_projects/payforapps/config/application.rb:13:in `<top (required)>' 
/Users/sergey/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
/Users/sergey/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
/Users/sergey/Dropbox/rails_projects/payforapps/config/environment.rb:2:in `<top (required)>' 
/Users/sergey/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
/Users/sergey/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
/Users/sergey/Dropbox/rails_projects/payforapps/features/support/env.rb:11:in `block in <top (required)>' 
/Users/sergey/.rvm/gems/[email protected]/gems/spork-0.9.0/lib/spork.rb:24:in `prefork' 
/Users/sergey/Dropbox/rails_projects/payforapps/features/support/env.rb:6:in `<top (required)>' 
/Users/sergey/.rvm/gems/[email protected]/gems/cucumber-1.1.9/lib/cucumber/rb_support/rb_language.rb:129:in `load' 
/Users/sergey/.rvm/gems/[email protected]/gems/cucumber-1.1.9/lib/cucumber/rb_support/rb_language.rb:129:in `load_code_file' 
/Users/sergey/.rvm/gems/[email protected]/gems/cucumber-1.1.9/lib/cucumber/runtime/support_code.rb:171:in `load_file' 
/Users/sergey/.rvm/gems/[email protected]/gems/cucumber-1.1.9/lib/cucumber/runtime/support_code.rb:83:in `block in load_files!' 
/Users/sergey/.rvm/gems/[email protected]/gems/cucumber-1.1.9/lib/cucumber/runtime/support_code.rb:82:in `each' 
/Users/sergey/.rvm/gems/[email protected]/gems/cucumber-1.1.9/lib/cucumber/runtime/support_code.rb:82:in `load_files!' 
/Users/sergey/.rvm/gems/[email protected]/gems/cucumber-1.1.9/lib/cucumber/runtime.rb:175:in `load_step_definitions' 
/Users/sergey/.rvm/gems/[email protected]/gems/cucumber-1.1.9/lib/cucumber/runtime.rb:40:in `run!' 
/Users/sergey/.rvm/gems/[email protected]/gems/cucumber-1.1.9/lib/cucumber/cli/main.rb:43:in `execute!' 
/Users/sergey/.rvm/gems/[email protected]/gems/cucumber-1.1.9/lib/cucumber/cli/main.rb:20:in `execute' 
/Users/sergey/.rvm/gems/[email protected]/gems/cucumber-1.1.9/bin/cucumber:14:in `<top (required)>' 
/Users/sergey/.rvm/gems/[email protected]/bin/cucumber:19:in `load' 
/Users/sergey/.rvm/gems/[email protected]/bin/cucumber:19:in `<main>' 

對於RSpec的:

No DRb server is running. Running in local process instead ... 
/Users/sergey/.rvm/gems/[email protected]/gems/bundler-1.1.1/lib/bundler/runtime.rb:77:in `rescue in rescue in block in require': undefined method `gsub' for nil:NilClass (NoMethodError) 
     from /Users/sergey/.rvm/gems/[email protected]/gems/bundler-1.1.1/lib/bundler/runtime.rb:72:in `rescue in block in require' 
     from /Users/sergey/.rvm/gems/[email protected]/gems/bundler-1.1.1/lib/bundler/runtime.rb:62:in `block in require' 
     from /Users/sergey/.rvm/gems/[email protected]/gems/bundler-1.1.1/lib/bundler/runtime.rb:55:in `each' 
     from /Users/sergey/.rvm/gems/[email protected]/gems/bundler-1.1.1/lib/bundler/runtime.rb:55:in `require' 
     from /Users/sergey/.rvm/gems/[email protected]/gems/bundler-1.1.1/lib/bundler.rb:119:in `require' 
     from /Users/sergey/Dropbox/rails_projects/payforapps/config/application.rb:13:in `<top (required)>' 
     from /Users/sergey/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
     from /Users/sergey/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
     from /Users/sergey/Dropbox/rails_projects/payforapps/config/environment.rb:2:in `<top (required)>' 
     from /Users/sergey/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
     from /Users/sergey/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
     from /Users/sergey/Dropbox/rails_projects/payforapps/spec/spec_helper.rb:10:in `block in <top (required)>' 
     from /Users/sergey/.rvm/gems/[email protected]/gems/spork-0.9.0/lib/spork.rb:24:in `prefork' 
     from /Users/sergey/Dropbox/rails_projects/payforapps/spec/spec_helper.rb:4:in `<top (required)>' 
     from /Users/sergey/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
     from /Users/sergey/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
     from /Users/sergey/Dropbox/rails_projects/payforapps/spec/controllers/static_pages_controller_spec.rb:1:in `<top (required)>' 
     from /Users/sergey/.rvm/gems/[email protected]/gems/rspec-core-2.9.0/lib/rspec/core/configuration.rb:746:in `load' 
     from /Users/sergey/.rvm/gems/[email protected]/gems/rspec-core-2.9.0/lib/rspec/core/configuration.rb:746:in `block in load_spec_files' 
     from /Users/sergey/.rvm/gems/[email protected]/gems/rspec-core-2.9.0/lib/rspec/core/configuration.rb:746:in `map' 
     from /Users/sergey/.rvm/gems/[email protected]/gems/rspec-core-2.9.0/lib/rspec/core/configuration.rb:746:in `load_spec_files' 
     from /Users/sergey/.rvm/gems/[email protected]/gems/rspec-core-2.9.0/lib/rspec/core/command_line.rb:22:in `run' 
     from /Users/sergey/.rvm/gems/[email protected]/gems/rspec-core-2.9.0/lib/rspec/core/runner.rb:66:in `rescue in run' 
     from /Users/sergey/.rvm/gems/[email protected]/gems/rspec-core-2.9.0/lib/rspec/core/runner.rb:62:in `run' 
     from /Users/sergey/.rvm/gems/[email protected]/gems/rspec-core-2.9.0/lib/rspec/core/runner.rb:10:in `block in autorun' 

我怎樣才能解決呢?任何幫助讚賞。謝謝。

+0

Dropbox呵? :P – Shaunak 2012-03-20 08:39:55

+0

這意味着項目是相同的。 – 2012-03-20 08:52:53

回答

4

的問題是在我的Gemfile兩種寶石:

gem 'rb-inotify', '0.8.8' 
gem 'libnotify', '0.5.9' 

這些寶石是隻兼容Ubuntu的,因爲我明白了。

UPD:

您應該OS專用寶石集團。所有OS X專用寶石添加到在Gemfile中一個達爾文組,到Linux的所有Linux特有的寶石組:

# Gemfile 
group :darwin do 
    gem 'rb-fsevent' 
    gem 'growl' 
end 

group :linux do 
    gem 'rb-inotify' 
end 

若需要在合適的環境中適當的寶石,加下面以的config/application.rb中

platform = RUBY_PLATFORM.match(/(linux|darwin)/)[0].to_sym 
Bundler.require(platform) 

約捆綁她的更多信息,請參見https://github.com/bbatsov/rails-style-guide#bundler

0

我的寶石有問題。

更新捆綁

正確讀取錯誤,它會告訴你哪些寶石是罪魁禍首。

事情並非所有的寶石都與操作系統兼容。

+0

是的,這是常見問題。感謝您的額外解釋。 – 2013-08-28 13:00:14

相關問題