【问题标题】:Rails - rake:gems:install - not installing gemsRails - rake:gems:install - 不安装 gem
【发布时间】:2011-11-22 17:17:56
【问题描述】:

如果我像这样在 config/environments/test.rb 文件中定义一些 gem:

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)安装 gem?

谢谢!

【问题讨论】:

  • 为什么要尝试使用 RAILS_ENV=test 参数安装 gem?
  • 因为这些 gem 只涉及测试并且在 config/environments/test.rb 中定义。因此我需要使用 RAILS_ENV=test。

标签: ruby-on-rails ruby rake


【解决方案1】:

我想知道,您的 rake 文件或 environment.rb 文件中是否有来自 mocha gem 的引用?我以前见过这样的问题,它表现为这种类型的问题。

尝试使用...“手动”安装 mocha

gem install mocha

那就看看能不能跑rake gems:install。

【讨论】:

    【解决方案2】:

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

    :lib => false
    

    到

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

    帮助。

    【讨论】:

      【解决方案3】:

      我发现这是一个 GEM_PATH 问题。基本上,rails 无法找到您已安装的 gem,即使它们在那里,它们也是完全不可见的。有点奇怪,但是嘿。

      在dreamhost上我必须配置线路:

      ENV['GEM_PATH'] = '/home/<my_account>/.gems:/usr/lib/ruby/gems/1.8/gems'
      

      在 config/environment.rb 中

      但在我的开发盒上,这对我不起作用,必须完全删除。 YMMV,但我建议这是一个开始寻找的好地方。

      【讨论】:

        【解决方案4】:

        您使用的是哪个平台?如果它是窗口,那么

        执行以下命令及其工作

        gem install mocha --platform=mswin32

        【讨论】:

          猜你喜欢
          • 2013-01-19
          • 2016-05-02
          • 1970-01-01
          • 1970-01-01
          • 2015-04-22
          • 2011-09-04
          • 1970-01-01
          • 2023-03-17
          • 1970-01-01
          相关资源
          最近更新 更多