在不安装gem的情况下更新Gemfile.lock

Aut*_*ico 16 ruby bundler gemfile.lock

有没有办法强制更新Gemfile.lock没有安装已更改的宝石?

ale*_*han 14

bundle lock --update.

我在Chris Blunt的博客文章中找到了答案:"Docker上的Rails:快速创建或更新你的Gemfile.lock":

今天,我发现了一种方法来节省浪费下载宝石的时间:bundler的锁定命令.

这个命令的宝石解决了你的应用程序的依赖关系并写出了适当的Gemfile.lock- 没有安装任何宝石本身.

根据更改日志,此命令已添加到Bundler 1.10.0.pre中,在提出此问题约八个月后发布.

  • 没有“--update”的“bundle lock”会将丢失的gem添加到“Gemfile.lock”,而不进行可能有害的更新。 (2认同)

Chr*_*bek 6

代替

bundle install
Run Code Online (Sandbox Code Playgroud)

请执行下列操作:

bundle lock
Run Code Online (Sandbox Code Playgroud)

这只会更新Gemfile.lock,但不会尝试在本地安装文件。如果要Gemfile.lock为远程或部署平台准备一个,则必须使用

bundle lock --add-platform ...
Run Code Online (Sandbox Code Playgroud)

https://bundler.io/v1.16/man/bundle-lock.1.html 上的最新文档