升级宝石后的Phusion Passenger投掷错误

时间:2013-03-18 12:45:10

标签: ruby gem dependencies redmine phusion

我目前正在运行Redmine,在更新宝石时,Phusion Passenger会抛出无法找到所需库的错误。它似乎一直在寻找旧宝石,而不是新宝石。

更新宝石后,我运行命令:

gem cleanup

删除所有不再需要的旧宝石。

不幸的是,尽管安装了更新的宝石,Phusion Passenger仍然会抛出以下错误:

Could not find activesupport-3.2.11 in any of the sources (Bundler::GemNotFound)
但是,

activesupport-3.2.12已安装。

要暂时解决此问题,我需要重新安装旧版本。不幸的是,我需要安装所有旧版本的依赖项......有没有办法让Phusion Passenger看到所需宝石的新版本?我对Ruby,Rails或者宝石并不是很了解,所以我很感激我在这个问题上给予的任何帮助。

谢谢

编辑: 根据请求,这是gem dependency activesupport -reverse-dependencies的输出:

Gem activesupport-3.2.12
  i18n (~> 0.6)
  multi_json (~> 1.0)
  Used by
    actionpack-3.2.12 (activesupport (= 3.2.12))
    activemodel-3.2.12 (activesupport (= 3.2.12))
    activerecord-3.2.12 (activesupport (= 3.2.12))
    activeresource-3.2.12 (activesupport (= 3.2.12))
    rails-3.2.12 (activesupport (= 3.2.12))
    railties-3.2.12 (activesupport (= 3.2.12))
    treetop-1.4.12 (activesupport (>= 0, development))
编辑:我想我找到了问题的根源:Redmine目录中的GemfileGemfile.lock。在Gemfile.lock文件中,它列出了以下内容:

specs:
    actionmailer (3.2.11)
    actionpack (= 3.2.11)
    mail (~> 2.4.4)
    actionpack (3.2.11)
    activemodel (= 3.2.11)
    activesupport (= 3.2.11)
    builder (~> 3.0.0)
    erubis (~> 2.7.0)
    journey (~> 1.0.4)
    rack (~> 1.4.0)
    rack-cache (~> 1.2)
    rack-test (~> 0.6.1
    ...

所以,这可能是导致所有问题的文件......现在,如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

您必须执行以下操作:

打开Redmine Gemfile(应该位于redmine项目的根目录下)。在该文件中,您将更新愿望gems。在终端中,转到Redmine项目的根目录(Gemfile所在的同一级别),然后执行bundle install。这将更新您的gems并将您的Gemfile.lock替换为新的宝石。