为什么Phusion乘客拒绝识别我更新的RubyGems?
我已经在我能想到的任何地方更新了RubyGems,以更新它: 但Phusion乘客不断抛出同样的错误: 有一个奇怪的地方显示1.3.1为版本,尽管文件名为1.3.6。我显然把这里的事情搞砸了 也就是说,我需要更新到1.3.2或更高版本,并且我目前有1.3.1 你知道我怎样才能让PP使用RubyGems的正确版本,最好能改变一些事情,这样我就不必再面对这个问题了吗 这可能与RubyGems和Ruby环境的不同路径有关吗?以下是我的环境:为什么Phusion乘客拒绝识别我更新的RubyGems?,ruby,rubygems,passenger,Ruby,Rubygems,Passenger,我已经在我能想到的任何地方更新了RubyGems,以更新它: 但Phusion乘客不断抛出同样的错误: 有一个奇怪的地方显示1.3.1为版本,尽管文件名为1.3.6。我显然把这里的事情搞砸了 也就是说,我需要更新到1.3.2或更高版本,并且我目前有1.3.1 你知道我怎样才能让PP使用RubyGems的正确版本,最好能改变一些事情,这样我就不必再面对这个问题了吗 这可能与RubyGems和Ruby环境的不同路径有关吗?以下是我的环境: 这可能有几个原因 首先,验证您不需要显式地要求envir
这可能有几个原因 首先,验证您不需要显式地要求environment.rb中的rubygem。也就是说,如果你有这样一行:
config.gem "ruby_gems", :version => "1.3.1"
然后您必须从中删除该版本
另外,看到rubygems更新提供的版本不正确,您可能需要卸载它
sudo gem uninstall rubygems-update
因为你已经更新了它,所以不再需要那个宝石了
我不认为这会有帮助,但我可能也会卸载macports版本的rubygem,因为这可能会产生冲突,即使在本例中看起来不是这样
更新:
因为您使用的是来自操作系统的Ruby,所以根本不需要通过macports安装rubygem。
要删除它,请执行以下操作:
sudo port uninstall rubygems
之后,确保升级了正确的rubygem(二进制显示正确,但可能缺少某些内容)
在你做完那件事之后。打开irb
(即irb而不是rails控制台)并检查以下各项:
require 'rubygems'
puts Gem::RubyGemsVersion
另外,如果您可以粘贴apache/nginx配置的外观,我怀疑其中是否有错误,但您永远不会知道。首先,获取您的Passengeruby配置的值。然后使用该Ruby解释器运行以下脚本: 像这样:
/path-to-your-passenger-ruby-interpreter myscript.rb
然后按照指示去做。非常感谢你的来电,吉米。首先,environment.rb文件没有问题。没有提到这一点,我和我的团队的其他成员有着完全相同的内容,他们都为我工作,所以这可能是一个本地问题。即将进行卸载并返回报告。我是安装所有MacPorts还是只安装rubygem?
/path-to-your-passenger-ruby-interpreter myscript.rb