问题 Bundler忽略rails应用程序中的组


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

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

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

无法在列出的任何宝石来源中找到宝石'rspec(> = 0)'   你的Gemfile。

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

如果我在开发模式下启动,则会出现同样的问题,然后它会尝试在测试组中加载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

8114
2018-06-11 06:37


起源



答案:


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

无论如何,修复是

rm .bundle/config
bundle install

16
2017-12-04 21:40



哇,为我工作 - 这让我发疯了。 - jbnunn
@agreif,你能把它标记为答案吗?! - Andrew Shatnyy


答案:


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

无论如何,修复是

rm .bundle/config
bundle install

16
2017-12-04 21:40



哇,为我工作 - 这让我发疯了。 - jbnunn
@agreif,你能把它标记为答案吗?! - Andrew Shatnyy