当我Bundle.require(:default)
时,我收到一条错误消息,指出我的测试组中没有找到其中一颗宝石。我安装了这个包--without test
,所以这是有道理的,但是不应该忽略:test
组中的所有宝石吗?这不是重点吗?
关于这种环境可能出现什么问题的想法?
修改
这可能与我为此项目的设置有关。我正使用vendor/cache
缓存bundle package --all
中的宝石。我的缓存有来自git,文件和传统来源的宝石。 Bundler正在报道
您的供应商/缓存中似乎缺少某些宝石 - >不能 找到
所需的gem factory_girl
答案 0 :(得分:0)
尝试编辑gemfile,使其fg如下:
group :development do
gem 'factory_girl'
end
然后它不会在测试组中查找它。或者,我无法确定你真正想要的是哪个群组,但我的观点是将其限制在你想要的群体中。
另外,请尝试运行Bundler.require(:default, Rails.env)
而不是(:default)
。这将使其回到标准的Rails要求。
最后,我想你正在尝试安装gems进行开发(或生产?)你试过运行bundle install --without test production
以确保没有任何东西来自你没有关注的其他组吗?
编辑: 在我没有想法之前的最后一次尝试。从文档中可以看出,您可以指定加载路径以及需要它们。尝试设置Bundler.setup?我在这台机器上没有导轨环境,所以我无法测试。
Bundle.setup(:production)
Bundle.require(:production)
或
Bundle.setup(:production, :default)
Bundle.require(:production, :default)