2013-03-31 45 views
1

我有一個複雜的依賴項目,我想讓其他開發人員更容易抓取它們。我有一個Capfile,Gemfile,Guardfile,ProcfileRakefile,所以我想......爲什麼不是Brewfile來管理複製該項目的mac開發人員的系統級程序包依賴關係?將本地公式注入brew中

我的希望是讓當地的公式,這只是一個依賴的列表,像:

# Brewfile 
require 'formula' 

class DeveloperProject < Formula 
    depends_on 'mongodb' 
    depends_on 'postgresql' 
    depends_on 'solr' 
    depends_on 'phantomjs' 
end 

開發商簽出回購首次可以只brew install developer_project,和依賴的變化,他們可以brew update developer_project

問題是,我的brew-fu不夠好,無法弄清楚如何在不爲其創建整個存儲庫的情況下識別此公式。

起初,我以爲我可以嘗試在某種程度上的文件路徑傳遞:

brew install /Users/me/Projects/DeveloperProject/Brewfile 

然後我想我可能能夠模擬水龍頭,而不必託管實際回購,適當交替式 - 源管理:

mkdir -c /usr/local/Library/Taps/local-tap/Formula/ 
ln -s \ 
    /Users/me/Projects/DeveloperProject/Brewfile \ 
    /usr/local/Library/Taps/local-tap/Formula/developer_project.rb 
brew install developer_project 

然後,我想我可以用符號鏈接到我的公式,但它會使脆性brew update S:

ln -s \ 
    /Users/me/Projects/DeveloperProject/Brewfile \ 
    /usr/local/Library/Formula/developer_project.rb 
brew install developer_project 

我找不到一種方法來完成這些工作,而且每種方法都越來越黑客。有沒有辦法用brew來做到這一點,而不是像倉庫一樣嘎嘎作響?否則,是否有辦法像遠程公式源一樣成功嘎嘎響?我是否缺少一個已經存在的爲項目製作釀造清單的方法?

+0

TLDR,有沒有一種方法可以將本地brew程序製作成像Gemfile這樣的依賴項清單,用於那些過於簡單而不適用於某個完整公式庫的情況? –

回答

0

看起來我不是第一個與this idea! Brewdler不支持特定的水龍頭或任何東西,但它會爲我工作。

0

您可以使用URL安裝任意公式,但不能使用文件名。因此,如果您將該brew install /Users/me/...命令中的路徑轉換爲file://網址,則可以在無需維護回購或點按或任何類似功能的情況下運行。

請注意,要讓它自動更新內容,您需要明確地在您的公式中添加一個版本號,並在每次依賴關係發生變化時對其進行修改。

+0

這是一個非常酷的主意!我將不得不玩弄它,看看它是否有效。 –