Ruby on rails Gemfile中相同gem的不同版本-可能吗?
我有两个宝石:Ruby on rails Gemfile中相同gem的不同版本-可能吗?,ruby-on-rails,ruby,gem,Ruby On Rails,Ruby,Gem,我有两个宝石: gem 'A' gem 'B' gem 'C' gem 'X' gems A、B和C有一个依赖项,即gem X。gem X恰好在Gemfile中,而不是在Gemfile.lock中,因为它本身在整个应用程序中使用 然而,A和B(事实上还有其他gem)需要X的版本1,而C和只有C需要版本2。我如何让他们使用不同版本的X?这可能行不通。无论如何您如何期望您的A&B gem使用X gem的版本1,而C使用版本2 另一件事是,如果版本1正在定义一个类,而版本2正在定义同一个类,但是覆
gem 'A'
gem 'B'
gem 'C'
gem 'X'
gems A、B和C有一个依赖项,即gem X。gem X恰好在Gemfile中,而不是在Gemfile.lock中,因为它本身在整个应用程序中使用
然而,A和B(事实上还有其他gem)需要X的版本1,而C和只有C需要版本2。我如何让他们使用不同版本的X?这可能行不通。无论如何您如何期望您的A&B gem使用X gem的版本1,而C使用版本2
另一件事是,如果版本1正在定义一个类,而版本2正在定义同一个类,但是覆盖了v1方法,那么“最终类代码”将取决于加载顺序。否,在bundler中不允许它。实际上,您可以在ruby文件中指定调用
gem'X',1'
,但强烈建议不要使用这种方法,原因引入了如上所述的冲突