【发布时间】:2023-04-09 08:59:02
【问题描述】:
我正在 Windows 下使用 bundler 进行开发,我想知道如何为我的生产环境创建 Gemfile.lock。
似乎缺少的是其他平台的宝石。运行bundle install
group :production do
gem 'mysql2'
end
在 Windows 上创建 Gemfile.lock
mysql2 (0.3.18-x86-mingw32)
当部署到 Linux 环境时,这显然是不正确的,我需要 Gemfile.lock 来包含 Linux 的正确结果。我可以在 Linux 上运行 bundle install 并了解这一点
mysql2 (0.3.18)
是适用于 Linux 的正确 gem。然后我手动更新存储库中的Gemfile.lock 以包含两者:
mysql2 (0.3.18)
mysql2 (0.3.18-x86-mingw32)
这在两个平台下都可以正常工作,但看起来很杂。
我如何告诉 bundle 为本地平台以外的另一个平台解析 Gemfile.lock?我想我需要像bundle install --all-platforms 这样的东西。我错过了什么?
【问题讨论】:
-
问题有点不同,因为我不在乎为不同的平台指定不同的 gem,而是为不同的 Gemfile.lock 规范指定。特别是我认为这违反了
Gemfile应该是什么,如果我真的不在乎,我将不得不在Gemfile中将mysql 固定为0.3.18。
标签: ruby-on-rails ruby gem bundler