Rails - rake:gems:install - 安装不了gems

4
如果我在config/environments/test.rb文件中定义了一些宝石(gems),就像这样:
config.gem "rspec"
config.gem "rspec-rails"
config.gem "mocha"

然后运行 'rake gems:install RAILS_ENV=test'

我遇到了以下错误:

Missing these required gems:
  mocha  

Run `rake gems:install` to install the missing gems.

然而,如果我像它说的那样运行rake gems:install,它将继续无限递归。

我该如何使用rake(而不是gem install)安装gems?

谢谢!


1
你为什么要使用RAILS_ENV=test参数安装gems? - Mike Trpcic
1
因为这些 gem 只涉及测试,并且在 config/environments/test.rb 中定义。因此我需要使用 RAILS_ENV=test。 - Hamish
4个回答

2
我想知道你的rake文件或environment.rb文件中是否有与mocha gem相关的引用。我之前遇到过类似的问题,看起来就像这种类型的问题。
尝试使用以下命令“手动”安装mocha...
gem install mocha

请尝试运行rake gems:install命令,查看是否能够成功安装所需的gems组件。

1
我也遇到了这个问题,并按照这里的说明解决了它。具体来说,删除并重新生成lib/tasks/rspec.rake非常关键。此外,添加

也很重要。
:lib => false

config.gem "rspec", :lib => false, :version => ">= 1.2.0"

已帮助。


0
我发现这是一个GEM_PATH问题。基本上,Rails无法“找到”您安装的gem,即使它们存在,它们也是完全不可见的。有点奇怪,但嘿。
在Dreamhost上,我必须配置以下行:
ENV['GEM_PATH'] = '/home/<my_account>/.gems:/usr/lib/ruby/gems/1.8/gems'

在config/environment.rb文件中

但是在我的开发环境中,这对我不起作用,必须完全删除。 你的情况可能有所不同,但我建议从这里开始寻找解决方案。


0
你使用的是哪个平台?如果是Windows系统,那么请执行以下命令:
gem install mocha --platform=mswin32
这样就可以了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接