1

我解决了一个 gem 的代码问题,但是我如何在我的 Rails 3.0.10 应用程序中使用该 gem?我只是在我的应用程序中包含文件还是需要重新编译 gem?如果我重新编译 gem,如何在我的应用程序中使用它?

4

2 回答 2

5

这里有 3 种方法可以解决这个问题(我个人出于不同的原因做了每一种方法):

方法1)

  1. 如果它在 Github 上,则 fork gem(它可能是)
  2. 进行更改并提交
  3. 将更改推送到您的 fork
  4. 在您的 Gemfile 中获取您的 fork,如下所示:

    gem 'awesome_thing', :git => 'git://github.com/yourname/awesome_thing.git'

  5. 向当前维护者发送拉取请求和礼貌说明(可选)

  6. 等待更改被拉入并发布新版本,然后更新您的 gemfile 以停止引用您的 fork。

方法2)

  1. 像这样将gem文件夹复制到vendor/gems,然后自由编辑
  2. 在您的 Gemfile 中获取该 gem 文件夹,如下所示:

    gem 'awesome_thing', :path => 'vendor/gems/awesome_thing-0.4.5'

方法3)

  1. Monkeypatch 只是您更改的方法和类,并将它们放在初始化程序中,直到问题在新版本中得到修复。
于 2012-06-20T22:11:51.747 回答
3

你应该做的是 fork 托管原始 gem 的 git 项目......进行修复并推回 git。

然后在您的 Gemfile 中执行以下操作:

宝石'gemyoufixed',git:'git://github.com/you/gemyoufixed'

然后捆绑安装...

于 2012-06-20T22:04:47.223 回答