我在 Debian 上有 Passenger 3.0.9,带有 Gem Rack 1.3.2 和 1.2.1。
使用带有乘客 e 捆绑器的 Rails 3.0 应用程序,我遇到以下错误:
您已经激活了机架 1.3.2,但您的 Gemfile 需要机架 1.2.3。考虑使用捆绑执行。
使用rails 3.1就一切OK了。我无法使用 Rails 3.0 启动应用程序,但只能使用 3.1 启动应用程序。
Passnnger 在捆绑器的 gems 上加载第一个机架 1.3.2 并且不加载机架 1.2.3
简短回答:
你需要跑
bundle update rack
这将更新 Gemfile.lock 中的机架版本
更长的答案:
当您激活的机架/耙子版本与 Rails 应用程序的机架/耙子版本不同时,通常会发生此错误。当您运行“捆绑安装”时,一些关键的 gem 由于依赖关系而不会得到更新。
这就是为什么您需要运行“bundle update”(对于所有 gem)或“bundle update a_specific_gem”来更新 Gemfile.lock 中的某个 gem,例如rack/rake。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)