2012-02-21 15 views
1

在Rails 3应用程序中使用现有的gem并将其与我自己的修改一起发送的最佳方式是什么?现在我只是从我的本地rvm缓存中复制目录,并修改了需要修改的源代码。我可以将它放入vendor/并在Gemfile中添加:path。问题是,我必须写自己的gemspec,并担心这一点。有没有一个工具可以让这更容易?另一种解决这个问题的方法是?取现有的宝石,修改它,并附带我自己的Rails应用程序

回答

6

如果该宝石已经在Github上,我觉得你可以只用叉子叉这个Github上,在你需要的方式修改本,然后在你的Gemfile只是把:

gem 'name_of_the_gem', :git => "git://github.com/name_of_your_account/name_of_the_gem.git" 
+0

不只是github,bundler会从* any *有效的git url安装gem,只要'.gemspec'文件是按顺序的。 – Swanand 2012-02-21 07:50:12

+0

是的,但我在这里以Github为例。 – 2012-02-21 08:22:54

+0

不要忘记向原作者发送拉请求:) – 2012-02-21 10:29:17

0

你可以做gem install your_gem.gemspec更换your_gem与你正在使用的宝石的名称,然后做bundle package。这应该将新的Gem放入供应商缓存中。

1

你的修改有多大?如果它很小,我会重写初始化器中的方法。

相关问题