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

时间:2010-03-10 01:27:26

标签: ruby rubygems passenger

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

The various places I've updated RubyGems http://files.droplr.com/files/14167865/zel8k.Screen%20shot%202010-03-09%20at%2017:24:59.png

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

Error Screenshot 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环境的不同路径有什么关系吗?这些是我的环境:

Environment screenshots http://files.droplr.com/files/14167865/zfH6x.Screen%20shot%202010-03-09%20at%2019:07:18.png

2 个答案:

答案 0 :(得分:0)

这可能有几个原因。

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

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

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

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

sudo gem uninstall rubygems-update

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

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

<强>更新

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

sudo port uninstall rubygems

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

sudo gem update --system

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

require 'rubygems'
puts Gem::RubyGemsVersion

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

答案 1 :(得分:0)

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

http://pastie.org/862871

像这样:

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

并按照说明操作。