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