首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么有这么多的Gem被撤走,你对依赖关系做了什么?

为什么有这么多的Gem被撤走,你对依赖关系做了什么?
EN

Stack Overflow用户
提问于 2013-03-26 19:43:34
回答 2查看 922关注 0票数 10

今天,我遇到了这样一种情况:我维护的一个应用程序中正在使用的一块宝石被拽了出来。

我以前从来没有见过被猛拽的宝石,尽管我听说过它,并认为这是一种糟糕的做法。

我尝试过更新gem,但当使用以前或更老的版本时,应用程序开始失败。

考虑到gem是免费托管的,并且可能被应用程序使用,那么拉动它们的逻辑是什么?你是如何管理被拖走的宝石的?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-26 19:57:01

对于你决定在你的项目中使用的每个gem,你应该有一个替代的想法(要么是另一个gem,要么是你自己的实现)。我看到人们强迫使用gem,而不关心它的质量,作者,更新频率。盲目地依赖一个gem是危险的,不应该轻率地决定向Gemfile中添加另一行。

如果作者从interwebz中删除了gem,那么您可能应该考虑在您的项目中对其进行同样的操作。或者,如果你真的喜欢这个宝石,那就主持一个分叉,给予信任并不断发展。:)

票数 11
EN

Stack Overflow用户

发布于 2013-03-26 20:03:14

Rubygem's doc表示,yanking在这里是为了:

  • 修复了不完整的versions
  • prevent用户的意外推送,这些用户愚蠢地拉出了一个存在已知安全问题的gem

我从来没有处理过这样的情况,但我看到了三种选择:

如果有更高版本的exists

  • download gem,请升级gem (文档称gem仍然可供下载,除非在讨论过程后出于充分理由将其完全删除),并指向gemfile

  • refactor中的本地版本您的代码或自定义代码

总而言之,似乎猛拉一个gem是一种极端的措施,总是有充分的理由,所以你应该更喜欢升级/重构而不是坚持使用一个潜在的危险或过时的gem……我想是的。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15636253

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档