ruby - 我可以阻止 Bundler 将 RUBY VERSION 添加到 Gemfile.lock 吗

标签 ruby bundler

每次我在命令行上运行任何 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/

相关文章:

java - bundle 并运行 Jar 会导致 java.lang.reflect.InitationTargetException

ruby-on-rails - Bundler 找不到 gem 的版本,但使用相同名称的 gem install 可以工作

ruby - 仅从 OAuth::AccessToken 获取响应代码,而不是实际响应

ruby-on-rails - 为什么升级 Rails 后会出现语法错误?

ruby-on-rails - 按域访问 Rails cookie

ruby - Bundler:始终在 Gemfile 中使用最新版本的 git 分支

ruby-on-rails - 为什么从 github 获取的 gem 不存储在供应商/缓存中?

ruby - 如何仅从 Gemfile 中查看依赖树?

Ruby:将美元(字符串)转换为美分(整数)

ruby-on-rails - Heroku上传-预编译 Assets 失败