繁体   English   中英

如何修改Ruby gem

[英]How to modify a Ruby gem

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

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

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

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

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

您可以将gem unpack ,添加修改,然后根据需要修改gemspec并再次构建:

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

bundle open gem_to_edit

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

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

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

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

gem spec my_gem --ruby > my_gem.gemspec

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM