我们的git存储库中当前有一个Gemfile
。但是,我的环境中只使用本地的宝石(我的团队并没有使用它)。为了使用它,我必须将它添加到我们的Gemfile
,但每次我检查我们的主/ dev主分支时,我必须删除它,因为与跟踪的gemfile冲突。
我想要的是像Gemfile.local
这样的东西,它将继承从Gemfile
导入的宝石,但也允许在那里导入新的宝石以仅在我的机器上使用。 .gitignore
中将忽略此文件。这甚至可能吗?
答案 0 :(得分:6)
设置BUNDLE_GEMFILE
环境变量:
BUNDLE_GEMFILE=Gemfile.local bundle exec rails c
仅在Gemfile.local
put require_relative 'Gemfile'
之上提供“delta”(或Bundler::Dsl#eval_gemfile
,如@MichaelKohl在评论中所建议的那样。)
答案 1 :(得分:1)
将以下代码放在Gemfile.local
的顶部,以加载现有的gemfile
:
if File.exists?('Gemfile') then
eval File.read('Gemfile')
end
它将从现有Gemfile
加载所有宝石。您也可以根据需要添加新宝石。
运行以下命令以从新Gemfile.local
安装gem:
bundle install --gemfile=Gemfile.local