有没有办法在不安装已更改的宝石的情况下强制更新Gemfile.lock
?
答案 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 ...
的最新文档
答案 2 :(得分:2)
使用以下方式强制执行您的特定要求:
bundle inject rmagick "=1.7.1"
答案 3 :(得分:0)
您可以使用虚拟化构建可重现的生产环境。例如Docker或VirtualBox。