gpt4 book ai didi

ruby - 处理 gem 依赖项中错误修复的最佳方法是什么?

转载 作者:数据小太阳 更新时间:2023-10-29 07:07:44 29 4
gpt4 key购买 nike

我有一个依赖于另一个 gem 的 gem(在 RubyGems 上可用)。那个依赖的 gem 有一个我最近修复的错误。不幸的是,那个依赖的 gem 几乎已经死了;它已经很多年没有更新了,而且所有者不再在 GitHub 上活跃,根本,更不用说提交这个 gem 了,所以我不希望我的补丁会被接受——肯定不会很快。

鉴于此,处理此依赖 gem 的补丁版本的最佳方法是什么?我是否将它 fork 并上传一个新的 gem(使用新名称)到 RubyGems,并依赖它?我是否以某种方式将我的固定版本与我自己的 gem 打包在一起?

最佳答案

首先,检查有问题的 gem 的许可证(以及您的代码的许可证 - 确保一切保持兼容)。

然后 - 如您所说 - 您有多种选择:

  • 在项目中包含固定的 gem,并告诉 bundler/Gemfile 使用那个地方的 gem。
  • fork、修复并告诉 bundler/Gemfile 使用您的 git 存储库。
  • fork 、修复并重新发布(这是 上游 变体,拥抱开源及其社区)。
  • 运行时的 Monkey-Patching 也可能是一个解决方案(取决于所讨论的代码和您的代码异味容忍度。基本上:不要在家里这样做!别管它,在工作中!)。

我会选择fork、fix and re-release 解决方案,但您可能必须(在 README 中)明确表示此 gem 需要新的维护者。

这取决于您所说的“最好”是什么意思(...什么是最好的方式...)。最简单的可能是猴子补丁,其次是将 gem 包含在您的存储库中并告诉 bundler/Gemfile 从那里获取它。此外,任何奇怪的 gem 更新都不会破坏您的代码。但是,如果应该有修复(像你这样的人:)),你就会错过它们。

关于ruby - 处理 gem 依赖项中错误修复的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39522319/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com