我已经完成了对rubygems代码的一些挖掘,并且看起来没有一种内置的方法可以让它不抛出jar
即使有一个Gem::ConflictError
。在开发过程中,我可能想要测试一些我知道不会触及冲突的代码的东西,或者我知道以前冲突的宝石的任何版本都不会导致问题。我只是想继续测试我想要测试的内容,以后我会担心版本冲突。
我知道我可以破解rubygems来做到这一点。我可以想或用多种方法来完成它。我有点好奇,如果有人已经这样做了,他们是怎么做到的,也许这个代码是在某个地方共享的。我还有点好奇为什么它不作为开发工具内置于rubygems中。
答案 0 :(得分:2)
在完成任何工作之前,您需要担心版本冲突。由于Ruby具有单个根命名空间并且每个依赖项都被加载,因此通常无法加载同一gem的多个版本。像NPM for Node.js这样的其他系统要灵活得多,可以同时加载任意数量的版本,所以如果你已经习惯了,你需要调整你的期望。
如果您尝试进行测试并希望避免解决冲突,请暂时从gem
删除Gemfile
要求。
最终你必须解决问题,没有办法解决问题,但你可以随时选择你需要的东西。
答案 1 :(得分:0)
如果你真的知道自己在做什么,试试这个:
export NOEXEC_DISABLE=1
ruby you-program.rb
此环境变量将禁用搜索并检查Gemfiles和gem版本。