今天,我遇到了这样一种情况:我维护的一个应用程序中正在使用的一块宝石被拽了出来。
我以前从来没有见过被猛拽的宝石,尽管我听说过它,并认为这是一种糟糕的做法。
我尝试过更新gem,但当使用以前或更老的版本时,应用程序开始失败。
考虑到gem是免费托管的,并且可能被应用程序使用,那么拉动它们的逻辑是什么?你是如何管理被拖走的宝石的?
发布于 2013-03-26 19:57:01
对于你决定在你的项目中使用的每个gem,你应该有一个替代的想法(要么是另一个gem,要么是你自己的实现)。我看到人们强迫使用gem,而不关心它的质量,作者,更新频率。盲目地依赖一个gem是危险的,不应该轻率地决定向Gemfile中添加另一行。
如果作者从interwebz中删除了gem,那么您可能应该考虑在您的项目中对其进行同样的操作。或者,如果你真的喜欢这个宝石,那就主持一个分叉,给予信任并不断发展。:)
发布于 2013-03-26 20:03:14
Rubygem's doc表示,yanking在这里是为了:
我从来没有处理过这样的情况,但我看到了三种选择:
如果有更高版本的exists
总而言之,似乎猛拉一个gem是一种极端的措施,总是有充分的理由,所以你应该更喜欢升级/重构而不是坚持使用一个潜在的危险或过时的gem……我想是的。
https://stackoverflow.com/questions/15636253
复制相似问题