如何为项目配置多个Gemfile?实现不提交Git的开发次级Gemfile
如何创建不提交到Git的开发专用次级Gemfile
当然可以!这种团队成员工具偏好不一致的场景很常见,我们完全可以通过一个本地专属的次级Gemfile来解决,既满足不同成员的需求,又不会污染仓库里的代码。下面是具体的实现步骤:
创建本地专属Gemfile
在项目根目录新建一个名为Gemfile.local的文件,把你需要的开发依赖加进去,比如针对pry-rails的配置:group :development do gem 'pry-rails' end这样只会在开发环境加载这个依赖,完全不会影响生产环境的依赖配置。
让主Gemfile自动识别本地文件
打开项目的主Gemfile,在文件末尾添加这段判断代码:# 加载本地开发专属Gemfile(不会提交到Git) if File.exist?(File.expand_path('Gemfile.local', __dir__)) eval(File.read(File.expand_path('Gemfile.local', __dir__)), binding, 'Gemfile.local') end这段代码会自动检查
Gemfile.local是否存在,如果存在就加载它的内容;如果不存在,也不会抛出任何错误,完美兼容两种使用习惯的团队成员。确保本地文件不被提交到Git
打开项目的.gitignore文件,添加以下两行规则:Gemfile.local Gemfile.local.lock这样Git就会忽略这两个文件,不会把它们推送到远程仓库里。
给团队成员的小提示
为了方便团队成员快速配置,你可以创建一个Gemfile.local.example示例文件提交到仓库,内容就是Gemfile.local的模板,然后告诉大家:如果需要使用pry-rails,只需要复制
Gemfile.local.example并重命名为Gemfile.local即可;不需要的成员完全不用管这个文件,主Gemfile的依赖配置不受任何影响。
内容的提问来源于stack exchange,提问作者Shobhit
相关产品推荐
相关产品推荐

