1

我正在尝试破解一个分叉的 gem(构建器)。因此,我从 github 克隆了它并开始屠杀代码。官方 gem 安装在我的系统上(在 /usr/lib/ruby.../gems/buildr... 下)。我需要在我的开发过程中使用一个可执行文件 - buildr。

现在我希望 buildr 可执行文件和库指向我的分叉存储库,而不是默认的 gem 安装。这仅适用于这颗宝石。因此,我对分叉存储库所做的更改可直接用于测试等。

我想我需要在系统 gem 加载之前加载我的库。有人可以推荐最好的方法吗?

4

2 回答 2

0

你可以在你的叉子的 gemspec 中修改版本。然后,当您安装 gem 的版本时,它将默认使用您的(较新的)版本。

更改buildr.gemspec

#...
  spec.version        = '1.3.4.dev'
#...

然后

$ gem build buildr.gemspec
$ sudo gem install buildr-1.3.4.dev.gem

它应该可以工作。

于 2010-02-05T22:56:46.163 回答
0

当电子表格 gem 破坏了向后兼容性时,我做了类似的工作。我将以前版本的代码放在它自己的模块中,只是重命名了 gem my-spreadsheet 并安装了它(我真的想要新 gem 的一些功能,但我也不想重写我以前的所有代码) .

如果它只是你想要覆盖的二进制文件,你总是可以做一些PATH魔术,首先设置你的二进制文件的目录,从而确保你总是覆盖。但就个人而言,我更喜欢用新名称制作自己的副本并安装它。

于 2010-02-05T13:29:13.163 回答