2012-04-20 40 views
1

我想用「回扣路線」爲什麼rails會迫使我使用bundle exec?

運行我的rake命令,但軌道生成以下錯誤

** Invoke routes (first_time) 
** Invoke environment (first_time) 
** Execute environment 
rake aborted! 
uninitialized constant ActiveAdmin 
/Users/aaalsubaie/Sites/Posnegs/config/initializers/active_admin.rb:1 
/Library/Ruby/Gems/1.8/gems/railties-3.2.3/lib/rails/engine.rb:588 
/Library/Ruby/Gems/1.8/gems/railties-3.2.3/lib/rails/engine.rb:587:in `each' 
/Library/Ruby/Gems/1.8/gems/railties-3.2.3/lib/rails/engine.rb:587 
/Library/Ruby/Gems/1.8/gems/railties-3.2.3/lib/rails/initializable.rb:30:in `instance_exec' 
/Library/Ruby/Gems/1.8/gems/railties-3.2.3/lib/rails/initializable.rb:30:in `run' 
/Library/Ruby/Gems/1.8/gems/railties-3.2.3/lib/rails/initializable.rb:55:in `run_initializers' 
/Library/Ruby/Gems/1.8/gems/railties-3.2.3/lib/rails/initializable.rb:54:in `each' 
/Library/Ruby/Gems/1.8/gems/railties-3.2.3/lib/rails/initializable.rb:54:in `run_initializers' 
/Library/Ruby/Gems/1.8/gems/railties-3.2.3/lib/rails/application.rb:136:in `initialize!' 
/Library/Ruby/Gems/1.8/gems/railties-3.2.3/lib/rails/railtie/configurable.rb:30:in `send' 
/Library/Ruby/Gems/1.8/gems/railties-3.2.3/lib/rails/railtie/configurable.rb:30:in `method_missing' 
/Users/aaalsubaie/Sites/Posnegs/config/environment.rb:5 
/Library/Ruby/Site/1.8/rubygems/custom_require.rb:36:in `gem_original_require' 
/Library/Ruby/Site/1.8/rubygems/custom_require.rb:36:in `require' 
/Library/Ruby/Gems/1.8/gems/railties-3.2.3/lib/rails/application.rb:103:in `require_environment!' 
/Library/Ruby/Gems/1.8/gems/railties-3.2.3/lib/rails/application.rb:292:in `initialize_tasks' 
/Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:205:in `call' 
/Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:205:in `execute' 
/Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:200:in `each' 
/Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:200:in `execute' 
/Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:158:in `invoke_with_call_chain' 
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/monitor.rb:242:in `synchronize' 
/Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:151:in `invoke_with_call_chain' 
/Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:176:in `invoke_prerequisites' 
/Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:174:in `each' 
/Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:174:in `invoke_prerequisites' 
/Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:157:in `invoke_with_call_chain' 
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/monitor.rb:242:in `synchronize' 
/Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:151:in `invoke_with_call_chain' 
/Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:144:in `invoke' 
/Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:116:in `invoke_task' 
/Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `top_level' 
/Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `each' 
/Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `top_level' 
/Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling' 
/Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:88:in `top_level' 
/Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:66:in `run' 
/Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling' 
/Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:63:in `run' 
/Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/bin/rake:33 
/usr/bin/rake:23:in `load' 
/usr/bin/rake:23 
Tasks: TOP => routes => environment 

奇怪的是,當我運行「捆綁高管耙路線」
它正常工作!我面對這個錯誤在我的開發/生產ENV寶石上的特定版本

回答

2

依賴創造一個應用程序發現它需要一個不同的人之前寶石的錯誤版本可以加載一個雞和蛋的問題。 bundle exec有助於右腳下車。請參閱http://yehudakatz.com/2011/05/30/gem-versioning-and-bundler-doing-it-right/

+0

有執行一次和解決所有的依賴關係的選項?那麼我不需要再使用bundle exec了。 – aaalsubaie 2012-04-20 22:59:32

+0

該文章解釋了其中的一些。使用binstubs並改變你的路徑首先檢查它們。或者使用oh-my-zsh作爲外殼,因爲它可以自動幫助你。或者,如果您使用rvm,請將binstub添加到您的.rvmrc文件中。我只是將'be'別名爲'捆綁exec',並將其運行爲'耙'。唯一的其他選擇是刪除未在您的Gemfile.lock的 – DGM 2012-04-20 23:07:32

+0

感謝中列出我不介意寫束EXEC在可執行文件前所有衝突的寶石。問題是當我用Cap部署時:cold不會使用它,並且這會在我的網站上生成像這樣的錯誤http://dev.ajhezaty.com/ – aaalsubaie 2012-04-20 23:10:01

2

如果您使用rvm,則可以使用bundle install --binstubs,然後您不必再執行bundle exec。詳細信息請參見this post

不要忘記bin目錄添加到您的gitignore文件。

+0

我沒有使用rvm。除了這個我的鐵軌v = 3.2.3和我的紅寶石v =紅寶石1.8.7(2010-01-10 patchlevel 249)[universal-darwin11.0] – aaalsubaie 2012-04-20 22:57:42

+1

你可以使用binstubs而不使用rvm - 捆綁的主頁可能會有所幫助 - http://gembundler.com/ – Edward 2012-04-21 14:16:45

相關問題