我有一个具有复杂依赖关系的项目,我想让其他开发人员更容易抓住它们。我有一个Capfile
,Gemfile
,Guardfile
,Procfile
和Rakefile
,所以我想......为什么不是Brewfile
管理克隆项目的mac开发人员的系统级包依赖关系?
我希望制作一个只需依赖列表的本地公式,例如:
# Brewfile
require 'formula'
class DeveloperProject < Formula
depends_on 'mongodb'
depends_on 'postgresql'
depends_on 'solr'
depends_on 'phantomjs'
end
首次签出repo的开发人员可能只有brew install developer_project
,并且随着依赖关系发生变化,他们可以brew update developer_project
。
问题是,我的brew-fu不足以弄清楚如何让brew能够识别这个公式,而无需在某处创建一个完整的存储库。
起初我以为我可以尝试以某种方式传递文件路径:
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来做这个而不像存储库那样嘎嘎叫?否则,有没有办法成功嘎嘎像远程公式来源?我是否错过了已经存在的为项目制作brew清单的方法?
答案 0 :(得分:1)
您可以使用URL安装任意公式,但不能使用文件名。因此,如果您将brew install /Users/me/...
命令中的路径转换为file://
网址,则可以简单地将其设置为无需维护回购或点击或其他任何内容。
请注意,为了让它自动更新内容,您需要在公式中明确地添加版本号,并在每次依赖项更改时将其更改。
答案 1 :(得分:0)
看起来我不是this idea的第一个! Brewdler不支持特定的水龙头或任何东西,但它对我有用。