每当我在命令行上运行任何gem命令时,Bundler都坚持触摸我的Gemfile.lock文件来添加这一行:
RUBY VERSION ruby 2.2.2p95
我不想将它提交到我们的存储库,因为这意味着每个使用不同补丁级别的Ruby 2.2.2的开发人员都将与我进行交涉. (我已经离开了BUNDLED_WITH行的一个类似的问题.)但是,除非我提交该行,否则我无法部署,因为我们的部署通过耙子任务运行并运行部署主管Bundler来添加此块.部署过程说:“等等!你的工作树很脏!你可能会部署不完整的更改!!!! 1!” (嗯,不是字面上,但你得到的想法.)
我可以告诉Bundler离开RIBY VERSION(而且理想情况下是BUNDLED_WITH)从Gemfile.lock中离开,所以我们不用做这个荒谬的舞蹈呢?
(how to prevent bundler from adding platform info to Gemfile.lock似乎是同一个问题,但没有答案,n atch.)
解决方法
我不这么认为,但也许没关系
从2.1.0开始,Ruby对于给定的版本不再具有多个修补程序级别的版本.见How do version numbers work for MRI Ruby?接受答复
2.2.2p95是2.2.2版本的唯一补丁级别. ‘p95’只是意味着自2.2.0以来有95个提交.
因为你的整个团队将会在2.2.2上,所以不应该在你的Gemfile.lock中留下这个问题. (只要每个人都将Bundler更新为执行此操作的版本,否则仍然会有冲突,因为ruby版本被添加和删除.)