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

时间:2014-10-13 08:32:23

标签: ruby bundler gemfile.lock

有没有办法在不安装已更改的宝石的情况下强制更新Gemfile.lock

4 个答案:

答案 0 :(得分:12)

运行bundle lock --update

我在Chris Blunt的博客文章中找到了答案:“Rails on Docker: Quickly Create or Update Your Gemfile.lock”

  

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

     

这个命令的宝石可以解析你的应用程序的依赖关系并写出适当的Gemfile.lock - 而无需自己安装任何宝石。

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

答案 1 :(得分:4)

而不是

bundle install

执行以下操作:

bundle lock

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

添加它
bundle lock --add-platform ...

https://bundler.io/v1.16/man/bundle-lock.1.html

的最新文档

答案 2 :(得分:2)

使用以下方式强制执行您的特定要求:

bundle inject rmagick "=1.7.1"

答案 3 :(得分:0)

您可以使用虚拟化构建可重现的生产环境。例如Docker或VirtualBox。