为什么Phusion Passenger拒绝识别我更新的RubyGems?

我已经更新了RubyGems,我可以想到更新它:

各个地方我更新了RubyGems http://files.droplr.com/files/14167865/zel8k.Screen%20shot%202010-03-09%20at%2017:24:59.png

但Phusion乘客不断抛出同样的错误:

错误截图http://files.droplr.com/files/14167865/zee8W.Screen%20shot%202010-03-09%20at%2017:19:50.png

尽管文件名为1.3.6,但有一个显示1.3.1作为版本的怪异地方。 我显然在这里非常糟糕。

也就是说,我需要更新到1.3.2或更高版本,我目前有1.3.1。

知道如何在世界上我可以让PP使用正确版本的RubyGems并最好改变一些东西,这样我就不必再面对这个问题了吗?

这可能与RubyGems和Ruby环境的不同路径有关吗? 这些是我的环境:

环境截图http://files.droplr.com/files/14167865/zfH6x.Screen%20shot%202010-03-09%20at%2019:07:18.png

首先,获取PassengerRuby配置的值。 然后使用该Ruby解释器运行以下脚本:

http://pastie.org/862871

像这样:

/path-to-your-passenger-ruby-interpreter myscript.rb 

并按照说明操作。

这可能有几个原因。

首先,validation您没有在environment.rb中明确要求rubygem。 也就是说,如果你有这样的一行:

 config.gem "ruby_gems", :version => "1.3.1" 

然后你必须从中删除版本。

另外,看到rubygems-update提供的版本不正确,您可能想要卸载它。

 sudo gem uninstall rubygems-update 

由于您已更新它,因此不再需要该gem。

我不认为它会有所帮助,但我可能会卸载macports版本的rubygem,因为这可能会造成冲突,即使在这种情况下看起来不像它。

更新:

由于您使用的是操作系统中的Ruby,因此您无需通过macports安装rubygem。 要删除它:

 sudo port uninstall rubygems 

之后,请确保您已升级了正确的rubygem(二进制显示正确,但可能缺少某些内容)

 sudo gem update --system 

你做完之后。 打开irb (即irb而不是rails控制台)并检查以下内容:

 require 'rubygems' puts Gem::RubyGemsVersion 

另外,如果你可以粘贴你的apache / nginx配置的样子,我怀疑那里有什么不对,但你永远不知道。