我正在开发一种与JRuby和MRI兼容的宝石,无需交叉编译。我发现在JRuby上运行bundle install
会发生变化Gemfile.lock
。
当我在MRI上运行bundle install
时,Gemfile.lock
不会变回来。但一切都按预期进行。MRI捆绑器没有尝试安装JRuby添加的新依赖项。
捆绑器怎么知道它不应该安装那些即使我没有提到它?
JRuby和MRI的单一Gemfile.lock
是否安全?
这很好,你想要的。 在 MRI 下重新运行bundle
是可以的。 因此,只需将其提交到 git 中,并在更改时在两个 Rubies 下重新运行捆绑包。
对相对于平台的 gem 依赖项(因为某些 gem 可能是本机的(的支持已在 Bundler 1.16 左右实现,因此请确保您没有使用旧版本。