2012-02-14 24 views
0

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。

+0

也许尝试卸载通过apt-get安装的那个? – Batkins 2012-02-14 14:43:22

+0

这不是一个在这个系统上的选项 - 无论如何,我想了解为什么我的售货版本无法正常工作,所以我可以确保我的软件可以在任何地方工作。 – seb 2012-02-15 08:12:01

回答

0

尝试使用rbenv和ruby-build。这是一个理智的ruby版本管理系统(不像rvm是疯狂的)。你会得到每个文件夹的红宝石版本,所有的宝石。当我遇到问题时,我通常会在开发邮件列表上询问他们。我运行罗马尼亚阿拉维特利。

相关问题