My Rails 2.3.x应用程序失败,因为它使用错误版本的Rack(one with a bug)。我的系统上有两个机架版本,一个是自动售货机(正确版本)和一个系统版本,通过apt-get
安装。我如何确保Ruby使用在我的Rails应用程序中进行销售的Rack Gem?
为什么使用错误的版本?这让我感到特别困惑,因为早期在调用堆栈中正确地使用了售货版本。我怎样才能让它使用正确的版本?
这里是从堆栈跟踪,当应用程序失败我得到的摘录:
/usr/lib/ruby/vendor_ruby/rack/utils.rb:202:in `set_cookie_header!'
/home/alaveteli/vendor/gems/rack-1.1.0/lib/rack/response.rb:57:in `set_cookie'
/home/alaveteli/vendor/rails/actionpack/lib/action_controller/response.rb:181:in `set_cookie'
注意使用vendored架线2条,但1号线采用的系统机架。 (线response.rb
57调用从机架模块,从而:Utils.set_cookie_header!(header, key, value)
)
我$LOAD_PATH
是因为我相信它应该是,与vendored宝石系统问题之前到来。
是的,我打算尽快迁移到使用Bundler。
也许尝试卸载通过apt-get安装的那个? – Batkins 2012-02-14 14:43:22
这不是一个在这个系统上的选项 - 无论如何,我想了解为什么我的售货版本无法正常工作,所以我可以确保我的软件可以在任何地方工作。 – seb 2012-02-15 08:12:01