我有一个带有以下格式的私人git储备金的Gemfile:

gem 'magic_beans', :git => "git@git.example.com:magic_beans.git', :branch => 'super_beans'

当我 bundle install, ,gemfile.将其锁定到特定的SHA修订版中。

我可以让Bundler始终检查并使用最新的SHA提交和/或更新gemfile.lock吗?请注意,当我将更新推向 super_beans 分支我没有修改GEM版本。

理想情况下,每次我跑步 bundle 它将检查上游GIT存储库中的分支机构的更新修订版。

有帮助吗?

解决方案

这不是邦德勒的工作方式。关键是允许依赖关系的无缝版本控制。 (特别是这样,您确切地知道在任何给定时间都将部署哪种版本的代码)。

如果需要最新版本,则应该运行。

bundle update magic_beans

这与您只是说完全一样的功能

gem "rails"

不过我建议,如果您要更新一系列特定内容,然后添加自定义二进制文件(例如,可执行文件, bundle_update)

#!/usr/bin/env bash
bundle install
bundle update magic_beans

然后做一个 ./bundle_update 当您想更新这些内容时。

其他提示

你可以运行 bundle update 将所有或特定的宝石更新为其最新可用版本,如 文档.

那会有所帮助吗?

搜索文档后,我终于找到了做到这一点的神奇方法:

bundle update magic_beans --source magic_beans

那就是更新 magic_beans 只有宝石,但不能触摸其他锁定的宝石。关于此的文档是: http://bundler.io/man/bundle-update.1.html

删除.gemlock对我有用:/

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top