如何在rails应用程序中正确地将gem解包?

时间:2010-09-22 22:51:55

标签: ruby-on-rails

我试过

rake gems:unpack
rake gems:unpack:dependencies 

然后我跑了

rake gems:refresh_specs 

给了我这个错误

undefined method `installed_source_index' for #<Gem::SourceIndex:0x100549718>

然后我跑了

rake gems:install

然后我运行脚本/控制台并尝试使用gem和错误

ITunesSearchAPI.lookup(:id => 3996865, :entity => :song)
NameError: uninitialized constant ITunesSearchAPI

这是

RAILS_GEM_VERSION = '2.3.8'

2 个答案:

答案 0 :(得分:1)

如果有其他人遇到上述错误: “#”

的未定义方法`installed_source_index'

运行时:rake gems:refresh_specs

当rails 2.3.x作为gem运行时,会导致错误,因为它适用于从应用程序vendor / rails目录中运行。据报道并修复了https://rails.lighthouseapp.com/projects/8994/tickets/2978-rake-gemsrefresh_specs-not-working-as-expected

如果你无法得到修复,或者你宁愿解决它,你可以先将你的版本的rails冻结到你的应用程序中:rake rails:freeze:gems

然后再次尝试rake gems:refresh_specs,它应该可以工作

答案 1 :(得分:0)

另一方面,我使用了2.3应用程序捆绑器,而不是解压缩宝石。像魅力一样工作,您可以使用它来缓存您的应用程序的供应商/缓存文件夹中的.gem文件。

不是每个人的选择,但如果你可以使用捆绑器,它会让你的生活更轻松。