如何修改Ruby gem

时间:2011-04-01 16:00:14

标签: ruby gem

如何修改现有的* .gem文件?我想修改gem中的Rakefile,以便它能够在Windows上编译。

5 个答案:

答案 0 :(得分:47)

将其源代码下载到一个单独的文件夹中(可能来自github)。然后修改您的Gemfile以直接指向源,以便您可以编辑它并直接测试您的更改。

例如,假设您要编辑secure_headers gem并将其克隆到〜/ workspace / secureheaders中。然后,您可以在Gemfile中使用以下内容:

gem 'secure_headers', :path => "~/workspace/secureheaders"

然后,只需修改源树中的源文件,您就可以看到直接应用的更改。

答案 1 :(得分:38)

您可gem unpack,添加修改,然后根据需要修改gemspec并重新构建:

答案 2 :(得分:22)

较新版本的bundler允许您使用以下命令执行此操作:

bundle open gem_to_edit

这将在默认的文本编辑器中打开gem代码。

(提示:如果您使用的是Mac OSX / Linux,则可以通过更改$ EDITOR变量来指定默认文本编辑器。假设您使用bash,则可以打开~/.bash_profile并添加:{{ 1}}将Sublime Text设置为默认编辑器

答案 3 :(得分:15)

或许更可接受且开源友好的方法是检查gem的源是否可用于像github这样的东西。然后创建gem代码的fork,进行更改,并发送pull请求。机会是,其他人也想要这个功能,你将为你的贡献预示。

答案 4 :(得分:5)

如果缺少gem的gemspec,请使用以下命令解压缩:

gem spec my_gem --ruby > my_gem.gemspec

当然用适当的宝石名称替换my_gem。编辑生成的文件以适应(在一个示例中,我必须删除导致错误的行),你应该好好去。