Bundler:始终在 Gemfile 中使用最新版本的 git 分支

发布于 2024-12-18 21:15:46 字数 518 浏览 1 评论 0 原文

我有一个 Gemfile,其中包含以下格式的私有 git 存储库:

gem 'magic_beans', :git => "[电子邮件受保护]:magic_beans.git', :branch => 'super_beans'

当我捆绑时安装后,Gemfile.lock 将其锁定到特定的 SHA 版本。

请注意,当我将更新推送到 时,我可以让捆绑程序始终检查并使用最新的 SHA 提交和/或更新 Gemfile.lock 吗? >super_beans 分支我不会修改 gem 版本,

理想情况下,每次运行 bundle 时,它都会检查上游 git 存储库以获取该分支的较新 SHA 版本。

I have a Gemfile with a private git repo in the following format:

gem 'magic_beans', :git => "[email protected]:magic_beans.git', :branch => 'super_beans'

When I bundle install, the Gemfile.lock locks it to a specific SHA revision.

Can I get bundler to always check and use the latest SHA commit and/or update the Gemfile.lock? Notice that when I push updates to the super_beans branch I am not modifying the gem version.

Ideally, every time I run bundle it would check upstream git repo for a newer SHA revision of the branch.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

情徒 2024-12-25 21:15:46

这不是捆绑器的工作原理。
重点是允许依赖项的无缝版本控制。
(特别是这样您就可以准确地知道在任何给定时间部署的代码版本)。

如果想要最新版本,你应该运行。

bundle update magic_beans

这与您刚才说的我建议的功能完全相同

gem "rails"

如果您有一系列想要更新的特定内容,
然后添加一个自定义二进制文件(例如名为 bundle_update 的可执行文件)

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

然后,当您想要更新这些内容时,只需执行 ./bundle_update 即可。

This isn't how bundler works.
The point is to allow seamless versioning of dependencies.
(particularly so you know exactly what version of the code is deployed at any given time).

If want the latest version, you should just run.

bundle update magic_beans

This is exactly the same functionality as if you just say

gem "rails"

I'd suggest though, if you have a range of specific things you want to update
then add a custom binary (say an executable file named bundle_update)

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

Then just do a ./bundle_update when you want to update these things.

如梦亦如幻 2024-12-25 21:15:46

您可以运行 bundle update 将所有或特定 gem 更新到最新的可用版本,如 文档

那会有帮助吗?

You can run bundle update to update all or specific gems to their latest available version, as stated in the docs.

Would that help?

郁金香雨 2024-12-25 21:15:46

在搜索文档后,我终于找到了执行此操作的神奇方法:

bundle update magic_beans --source magic_beans

即仅更新 magic_beans gem,但不触及其他锁定的 gem。关于此的文档是:http://bundler.io/man/bundle-update。 1.html

After searching through the documents I finally found the magic way to do this:

bundle update magic_beans --source magic_beans

That is to update the magic_beans gem only, but not to touch other locked gems. The doc about this is: http://bundler.io/man/bundle-update.1.html

酷炫老祖宗 2024-12-25 21:15:46

删除 .gemlock 对我有用:/

delete .gemlock is what worked for me :/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文