为什么Phusion Passenger拒绝识别我更新的RubyGems? [英] Why is Phusion Passenger refusing to recognize my updated RubyGems?
问题描述
我已经在任何地方更新了RubyGems,我可以考虑更新它:
但是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。 p>
任何想法如何在世界上我可以让PP使用正确版本的RubyGems,并最好改变事情,所以我不必再次面对这个问题?
这可能与RubyGems和Ruby环境的不同路径有关吗?这些是我的环境:
环境截图http://files.droplr.com/files/14167865/zfH6x.Screen%20shot%202010-03-09%20at%2019: 07:18.png
可能有以下几个原因。
首先,验证您是否没有明确要求environment.rb中的rubygem。也就是说,如果你有这样一行:
config.gemruby_gems,:version => 1.3.1
然后您必须从中删除版本。
另外,看到rubygems-update提供的版本不正确,您可能需要将其卸载。
sudo gem uninstall rubygems-update
由于您已经更新了该宝石,因此该宝石已不再需要。
我认为这不会有帮助,但我可能会卸载macports版本的rubygem,因为这可能会产生冲突,尽管在这种情况下看起来并不像这样。
更新:
由于您在操作系统中使用Ruby,因此您不必通过macports安装rubygem。
删除它:
sudo port卸载rubygems
然后,确保你已经升级了正确的rubygem(二进制显示正确,但可能缺少某些东西)。
sudo gem update --system
After你已经做到了。打开 irb
(即irb而不是rails控制台)并检查以下内容:
require'rubygems'
puts Gem :: RubyGemsVersion
另外,如果你可以粘贴你的 apache / nginx 配置的样子,我怀疑那里有什么错,但你永远不知道。
I've updated RubyGems everywhere I can possibly think to update it:
but Phusion passenger keeps throwing the same error:
There is that one freaking place that shows 1.3.1 as the version, despite the file name of 1.3.6. I've obviously borked things up pretty badly here.
That is, I need to update to 1.3.2 or greater and that I currently have 1.3.1.
Any idea how in the world I can get PP to use the correct version of RubyGems and preferably change things so I don't have to face this problem again?
Could this have anything to do with different paths for RubyGems and Ruby environments? These are my environments:
That might be of several reasons.
First, verify that you don't have it to explicitly require the rubygem in environment.rb. That is, if you have a line like this:
config.gem "ruby_gems", :version => "1.3.1"
Then you'll have to remove the version from it.
Also, seeing that the rubygems-update gives the incorrect version, you might want to uninstall it.
sudo gem uninstall rubygems-update
Since you have updated it, that gem is not necessary anymore.
I don't think it will help, but I would probably uninstall the macports version of rubygem as well since that might create collisions, even though it doesn't seem like it in this case.
Update:
Since you are using the Ruby from the operating system you don't have to install rubygem through macports at all. To remove it:
sudo port uninstall rubygems
After that, make sure that you have upgraded the correct rubygem (the binary shows correct, but perhaps there is something missing)
sudo gem update --system
After you've done that. Open up irb
(that is, irb and not the rails console) and check the following:
require 'rubygems'
puts Gem::RubyGemsVersion
Also, if you could paste how your apache/nginx configuration looks like, I doubt there is anything wrong in there, but you never know.
这篇关于为什么Phusion Passenger拒绝识别我更新的RubyGems?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!