我有2颗宝石:
gem 'A'
gem 'B'
gem 'C'
gem 'X'
gems A,B和C有一个依赖关系,它是gem X. gem X只是发生在Gemfile中,而不是在Gemfile.lock中,因为它本身在整个应用程序中使用。
但是,A和B(以及其他宝石,实际上)需要X的版本1,而C和只有C需要版本2。如何让他们使用不同的版本的X?
答案 0 :(得分:2)
不,在捆绑商中不允许
答案 1 :(得分:1)
实际上你可以在ruby文件中指定gem 'X', '1'
的调用,但是这种方法强烈不推荐,因为引入了如上所述的冲突。
答案 2 :(得分:0)
那可能行不通。无论如何......你怎么期望你的A& B gems使用X gem中的版本1,C版本2?
另一件事是,如果版本1定义了一个类,而版本2定义了同一个类,但是重写了v1方法,那么"最终的类代码"将取决于负载顺序。