当“rake gems”返​​回没有状态的宝石时,它意味着什么?

时间:2010-05-21 17:14:47

标签: ruby-on-rails rubygems gem

这是命令行输出:

breefiel@breefield.com [~/rails_apps/recurse]# rake gems
(in /home/breefiel/rails_apps/recurse)
 - [ ] authlogic 
 - [ ] acts_as_archive 
 - [ ] haml 

I = Installed
F = Frozen
R = Framework (loaded before rails starts)

请注意,宝石不是I,F或R ......这是什么意思? 这只是我的宝石未被检测到的一个指标。当我安装它们时,它们存储在“/ home / breefiel / ruby​​ / gems”中,我添加了这行

Gem.path.push "/home/breefiel/ruby/gems"

到我的环境.rb。 但是,“rake gem”仍然会返回上面的输出,所以我不确定。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

代码由以下代码行确定:

code = gem.loaded? ? (gem.frozen? ? (gem.framework_gem? ? "R" : "F") : "I") : " "

空白代码表示未加载gem。确保config.gem '...'没有:lib => false,因为这会阻止他们加载Rails。

如果不是这种情况,查看Rails::GemDependencyloaded?将由load设置或通过查找文件来确定(如果load不是叫)。

我有两个建议,

  1. 将您的宝石移动到正常目录中,看看是否能解决问题;或
  2. 使用ruby控制台手动调用load,看看是否有任何缺少rails的错误。