我有一個依賴許多第三方寶石的Rails項目。其中一個寶石是由我開發的寶石,在Github上託管。修改依賴關係寶石
現在,如果我克隆大型Rails項目,並且需要修改我的「自制」寶石中的某些內容,我應該怎麼做?如果有幫助,我使用RVM。
對於Pythonists,我需要的是類似pip
中的-e
標誌,您可以在其中安裝依賴項作爲可編輯的,以便您可以修改它們並查看需要它們的包中的實際更改。
我有一個依賴許多第三方寶石的Rails項目。其中一個寶石是由我開發的寶石,在Github上託管。修改依賴關係寶石
現在,如果我克隆大型Rails項目,並且需要修改我的「自制」寶石中的某些內容,我應該怎麼做?如果有幫助,我使用RVM。
對於Pythonists,我需要的是類似pip
中的-e
標誌,您可以在其中安裝依賴項作爲可編輯的,以便您可以修改它們並查看需要它們的包中的實際更改。
要在你剛纔創建的寶石早午餐寶石一些變化,再點Rails項目創業板分支的的Gemfile裏面的分支,例如:
gem 'your-gem', :git => 'https://github.com/you/your-gem.git', :branch => 'new-project-branch'
關於定義的更多文檔,您可以在bundler doc page找到。
注:當然你也可以使用:path
鍵代替git
或github
鍵的情況下,你必須simultaneoues發展階段在兩個你的寶石,和Rails項目,但這一招是無效的Rails項目發佈到網上(如heroku等)。
你可以在本地簽出你的寶石並按你的意願進行編輯。
在你的Rails項目Gemfile
點到寶石的地方結帳:
gem 'your_gem_name', path: '../your_gem_name'
Bundler 1.1 or above接受:github
作爲選項。所以,你可以說:
gem 'gem_name', :github => 'github_username/gem_name'
,甚至更好的時候可以提到查找代碼存儲庫中的哪個裁判,分公司,或標籤:現在
gem 'gem_name', :github => 'github_username/gem_name', :branch => "stable-branch"
,可以獨立於你的工作github存儲庫,並將代碼推送到您項目的Gemfile中提到的指定分支。
但是,你可能想工作,並在本地測試,所以你可以做這樣的事情:
if ENV['RAILS_ENV'] == 'production'
gem 'gem_name', :github => 'github_username/gem_name', :branch => "stable"
else
gem 'gem_name', :path => "/path/to/gem_name", :branch => 'test'
end
所以基本上我需要修改我的項目的Gemfile中。我想有一種方法可以告訴Bundler在可編輯模式下安裝gem,就像你告訴pip這樣做。 – linkyndy 2014-11-21 13:47:36