Jer*_*ith 11 ruby rubygems bundler
我想要的是这样的:
gem 'rack', '1.3.3', '1.2.4'
Run Code Online (Sandbox Code Playgroud)
因此,当宝石需要不同版本的机架时,它们都是安抚的.这可能吗?
Rya*_*igg 13
不,您无法同时加载多个gem版本.这是因为,当knut突出显示时,代码会发生冲突.宝石如何知道使用1.2.4Rack版本而不是1.3.3Rack版本?它不能.
另外:使用Bundler,必须满足所有gem依赖关系才能完成捆绑过程.如果你有一个明确需要 Rack 1.2.4 的gem (即= 1.2.4在gemspecfor gem中),然后另一个需要Rack版本的gem,>= 1.3那么这些gem版本会发生冲突,Bundler会告诉你.
knu*_*nut 11
您可以设置允许的宝石间隔
gem 'rack', '<1.3.3', '>1.2.4'
Run Code Online (Sandbox Code Playgroud)
它将在所选的intervall中加载最实际的一个.
但我不认为你可以要求不同的宝石版本.如果gem将以不同的版本加载,则每个类和模块必须获得它自己的命名空间,以避免覆盖gem的方法.
| 归档时间: |
|
| 查看次数: |
8830 次 |
| 最近记录: |