加载我的Rails应用程序时收到以下错误消息:
You have already activated builder 3.0.4, but your Gemfile requires builder 3.0.3. Consider using bundle exec.
堆栈追踪:
0 /usr/local/ruby/1.9.2/lib/ruby/gems/1.9.1/gems/bundler-1.0.10/lib/bundler/runtime.rb 31 in `block in setup'
1 /usr/local/ruby/1.9.2/lib/ruby/gems/1.9.1/gems/bundler-1.0.10/lib/bundler/spec_set.rb 12 in `block in each'
2 /usr/local/ruby/1.9.2/lib/ruby/gems/1.9.1/gems/bundler-1.0.10/lib/bundler/spec_set.rb 12 in `each'
3 /usr/local/ruby/1.9.2/lib/ruby/gems/1.9.1/gems/bundler-1.0.10/lib/bundler/spec_set.rb 12 in `each'
4 /usr/local/ruby/1.9.2/lib/ruby/gems/1.9.1/gems/bundler-1.0.10/lib/bundler/runtime.rb 17 in `setup'
5 /usr/local/ruby/1.9.2/lib/ruby/gems/1.9.1/gems/bundler-1.0.10/lib/bundler.rb 107 in `setup'
6 /usr/local/ruby/1.9.2/lib/ruby/gems/1.9.1/gems/passenger-3.0.17/lib/phusion_passenger/utils.rb 326 in `prepare_app_process'
7 /usr/local/ruby/1.9.2/lib/ruby/gems/1.9.1/gems/passenger-3.0.17/lib/phusion_passenger/classic_rails/application_spawner.rb 176 in `block in initialize_server'
8 /usr/local/ruby/1.9.2/lib/ruby/gems/1.9.1/gems/passenger-3.0.17/lib/phusion_passenger/utils.rb 563 in `report_app_init_status'
9 /usr/local/ruby/1.9.2/lib/ruby/gems/1.9.1/gems/passenger-3.0.17/lib/phusion_passenger/classic_rails/application_spawner.rb 174 in `initialize_server'
似乎passenger
已激活3.0.4
,但我的应用程序Gemfile仍然有3.0.3
。我可以在我的Gemfile中添加gem 'builder', '3.0.4'
但是当新版本出来时它会再次发生。我怎样才能防止这种情况发生?
答案 0 :(得分:0)
这通常发生在使用RVM时,或者只是系统默认的单独版本的ruby。
配置RVM以向乘客提供用于开发的相同红宝石(以及捆绑器安装宝石的地方)。
答案 1 :(得分:0)
我不确定这种优雅的方式我是否正在使用binstub 运行:
bundle install --binstubs
export PATH=./bin:$PATH
您可以在http://blog.davidchelimsky.net/2011/07/18/stop-typing-bundle-exec/
了解更多信息