Bundler忽略rails应用程序中的组

agr*_*eif 10 bundle ruby-on-rails-3

这个问题在0.9.8中得到修复,但似乎在1.x分支中再次出现.

在我的Gemfile中,我有一组用于使用rspec gems的测试和开发环境.在我的生产服务器上没有安装rspec.我bundle install --without test development在rails应用程序中使用了该命令

在生产模式下启动我的rails应用程序会出现异常:

无法在Gemfile中列出的任何gem源中找到gem'rspec(> = 0)'.

如果我注释掉测试组,则开发组会发生同样的错误.

如果我在开发模式下启动,则会出现同样的问题,然后它会尝试在测试组中加载gem.

似乎bundler完全忽略了环境组并尝试在Gemfile中加载所有gem:

    group :test do
      gem "rspec"
    end

    group :development do
      gem "rspec-rails"
    end


  versions:
  bundle 1.0.15
  rails 3.0.7
  ruby 1.9.2-p180
Run Code Online (Sandbox Code Playgroud)

Bre*_*ado 16

我也有这个问题,问题是.bundle/config文件有类似" - 没有开发测试"的东西,即使我从来没有用这个参数运行bundle命令(也许我从Webbynode服务器克隆了存储库,他们的系统自动为生产添加...)

无论如何,修复是

rm .bundle/config
bundle install
Run Code Online (Sandbox Code Playgroud)

  • 哇,为我工作 - 这让我发疯了. (3认同)