每次我在命令行上运行任何 gem 命令时,Bundler 都会坚持触摸我的 Gemfile.lock
文件以添加此行:
RUBY VERSION
ruby 2.2.2p95
我不想将它提交到我们的存储库,因为这意味着每个使用不同补丁级别的 Ruby 2.2.2 的开发人员都将与我进行提交 war 。 (我已经接受了 BUNDLED_WITH
行的类似问题。)但是除非我提交该行,否则我无法部署,因为我们的部署通过rake 任务和运行部署导致 Bundler 添加这个 block ,于是部署过程说,“等等!你的工作树很脏!你可能正在部署不完整的更改!!!!1!”(好吧,不是字面意思,但你明白了。)
我可以告诉 Bundler 将 RUBY VERSION
(最好是 BUNDLED_WITH
)留在 Gemfile.lock
之外,这样我们就不会不必跳这种可笑的舞蹈吗?
(how to prevent bundler from adding platform info to Gemfile.lock 似乎是同一个问题,但自然没有答案。)
最佳答案
我不这么认为,但也许没关系:
从 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 版本时仍然会存在冲突。)
关于ruby - 我可以阻止 Bundler 将 RUBY VERSION 添加到 Gemfile.lock 吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36316399/