2011-04-01 88 views

回答

38

可以gem unpack,添加您的修改,然後在必要時修改gemspec並重新構建它:

+1

現在這些都有重定向循環。 – CiscoIPPhone 2014-07-16 18:35:31

+1

猜猜我們永遠不會知道如何建立它現在 – FloatingRock 2014-10-20 06:01:17

+0

更新了鏈接。 – 2014-10-20 08:04:37

15

也許更容易接受和開源友好的方式要做到這一點將是檢查,看看gem的源是否可用在像github的東西。然後創建一個寶石代碼的分支,進行更改,併發送拉取請求。有機會,其他人也希望獲得這種功能,並且會爲您的貢獻預告。

4

如果缺乏對創業板gemspec,使用此命令解壓:

gem spec my_gem --ruby > my_gem.gemspec 

當然用適當的寶石名稱替換my_gem。編輯生成的文件以適合(在一個示例中,我必須刪除導致錯誤的一行),並且您應該很好。

+0

謝謝!這是至關重要的 – Anwar 2015-06-06 15:31:26

19

捆綁的新版本讓你用下面的命令做到這一點:

bundle open gem_to_edit 

這將在默認的文本編輯器打開寶石代碼。 (提示:如果你在Mac OSX/Linux上,你可以通過改變$ EDITOR變量來指定你的默認文本編輯器。假設你在bash中,你可以打開你的~/.bash_profile並添加:export EDITOR='subl -w'來設置Sublime文本作爲默認編輯器)

38

將其源代碼下載到單獨的文件夾(可能來自github)。然後修改您的Gemfile以直接指向源代碼,以便您可以編輯它並直接測試您的更改。

例如,假設您要編輯secure_headers gem並將其克隆到〜/ workspace/secureheaders中。然後你可以使用下面的你的Gemfile:

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

然後,只需修改源代碼樹中的源文件,你應該能夠看到直接應用更改。

+8

+1這是唯一的答案,完全描述如何測試修改後的源 – zelanix 2014-05-08 01:59:08

+0

http://stackoverflow.com/a/10106890/1039893這也是有時需要 – Anwar 2015-06-06 15:31:50