如何修改一个ruby

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

你可以把gem unpack ,添加你的修改,然后修改gemspec,然后重新编译:

  • gem解压
  • 创buildgem

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

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

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

然后,只需修改源代码树中的源文件,您就可以直接看到所做的更改。

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

 bundle open gem_to_edit 

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

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

也许一个更可接受和开放源代码的友好的方式来做到这一点将是检查,看看gem的源是否可用像github的东西。 然后创build一个gem代码的分支,进行更改,并发送一个拉请求。 有机会,别人也希望这个function,你会被贡献你的贡献。

如果您缺lessgem的gemspec,请使用以下命令提取它:

 gem spec my_gem --ruby > my_gem.gemspec 

当然用适当的gem名称replacemy_gem。 编辑生成的文件,以适应(在一个例子中,我不得不删除一个导致错误的行),你应该很好去。