我有一个具有复杂依赖关系的项目,我想让其他开发人员更容易获取它们。我有一个 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
首次查看存储库的开发人员只需brew installdeveloper_project
,随着依赖项的更改,他们可以brew updatedeveloper_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
然后我想我可以将它符号链接(symbolic link)到我的公式中,尽管这会导致脆弱的 brew 更新
:
ln -s \
/Users/me/Projects/DeveloperProject/Brewfile \
/usr/local/Library/Formula/developer_project.rb
brew install developer_project
我找不到一种方法来实现这些工作,而且每种方法都感觉越来越老套。有没有办法用brew来做到这一点,而不会像存储库那样嘎嘎叫?不然有没有办法像远程公式源一样成功嘎嘎呢?我是否缺少为项目制作 BREW list 的现有方法?
最佳答案
您可以使用 URL(但不是文件名)安装任意公式。因此,如果您将 brew install/Users/me/...
命令中的路径转换为 file://
URL,您可能可以让它简单地工作无需维护存储库或水龙头或类似的东西。
请注意,要使其自动更新内容,您需要在公式中显式放入版本号,并在每次依赖项发生更改时更改版本号。
关于macos - 将本地配方注入(inject)到brew中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15732257/