我目前正在运行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目录中的Gemfile
和Gemfile.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
...
所以,这可能是导致所有问题的文件......现在,如何解决这个问题?
答案 0 :(得分:1)
您必须执行以下操作:
打开Redmine Gemfile
(应该位于redmine项目的根目录下)。在该文件中,您将更新愿望gems
。在终端中,转到Redmine项目的根目录(Gemfile所在的同一级别),然后执行bundle install
。这将更新您的gems
并将您的Gemfile.lock
替换为新的宝石。