我很好奇是否可以将多个执行相同功能的宝石安装到一个应用程序中。做或不做的协议是什么?
示例:
由于
答案 0 :(得分:0)
除非有常数重叠,否则你应该没问题,从技术上说。
例如,由Model.search
等动态方法由两个不同的宝石提供可能会导致问题。如果gem允许您指定要挂钩的模型,则可能不会发生这种情况。
而且,正如其他人所指出的那样,宝石也可能存在冲突的依赖关系。
这是否可以接受,和/或多余,好......
答案 1 :(得分:0)
在我个人看来,没关系,只要宝石足够不同,以便获益是值得的。如果它们只执行相同的功能,那么仅使用其中一个是有益的。
我的示例是will_paginate
和kaminari
。我长时间使用will_paginate
(即使在Rails 3测试版中),然后通过webinar of Ryan Bates找到kaminari
并将一个应用程序完全切换到kaminari
。这有一个价格标签,只有你坚持这个决定才值得。要同时使用这两者,您作为开发人员必须了解它们,区别和不同的选项。我不认为这是值得的。
答案 2 :(得分:0)
很好。但是,有时候宝石会有相互冲突的依赖关系。您可能希望确保不会遇到该问题。查看Gemfile.lock的依赖项。就个人而言,除非有充分的理由,否则最好保持清洁。