我试图破解分叉的gem(buildr)。因此我从github克隆它并开始屠杀代码。官方gem安装在我的系统上(在/ usr / lib / ruby ... / gems / buildr ...下)。我需要在我的开发过程中使用可执行文件 - buildr。
现在我希望buildr可执行文件和库指向我的fork repo而不是默认的gem安装。这只适用于这个宝石。因此,我对forked repo所做的更改可以直接用于测试等等。
我猜我需要在系统gem加载之前加载我的库。有人可以推荐最好的方法吗?
答案 0 :(得分:0)
当Spreadsheet gem破坏向后兼容性时,我做了类似的工作。我把以前版本的代码放在它自己的模块中,然后重命名了gem my-spreadsheet并安装了它(我真的想要新gem的一些功能,但我也不想在那时重写我以前的所有代码)
如果它只是一个你要覆盖的二进制文件,你总是可以做一些PATH
魔术,首先设置你的二进制文件的目录,从而确保你总是覆盖。但就个人而言,我更喜欢使用新名称制作我自己的副本并安装它。
答案 1 :(得分:0)
你可以在你的前叉中使用gemspec中的版本。然后,当您安装gem版本时,默认情况下它将使用您的(较新版本)。
更改 buildr.gemspec
#...
spec.version = '1.3.4.dev'
#...
然后
$ gem build buildr.gemspec
$ sudo gem install buildr-1.3.4.dev.gem
它应该有用。