我有debian的乘客3.0.9,宝石机架1.3.2和1.2.1.
使用带有乘客e bundler的rails 3.0应用程序,我有这个错误:
您已经激活了机架1.3.2,但您的Gemfile需要机架1.2.3.考虑使用bundle exec.
使用rails 3.1就可以了.我无法使用rails 3.0启动应用程序,但只能使用3.1.
Passnnger加载第一个机架1.3.2并且不要在捆绑器的宝石上装载机架1.2.3
解决方法
简短回答:
你需要跑
bundle update rack
这将在Gemfile.lock中更新您的机架版本
更长的回答:
当您激活的机架/ rake版本与rails app的机架/ rake版本不同时,通常会发生此错误.当您运行“bundle install”时,由于依赖性,一些关键的gem将无法获得更新.
这就是为什么你需要运行’捆绑更新'(对于所有宝石),或’捆绑更新a_specific_gem’来更新Gemfile.lock中的某个宝石,如rack / rake.