macos - 将本地配方注入(inject)到brew中

标签 macos homebrew dependency-management

我有一个具有复杂依赖关系的项目,我想让其他开发人员更容易获取它们。我有一个 CapfileGemfileGuardfileProcfileRakefile ,所以我想...为什么不使用 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/

相关文章:

node.js - 如何通过 Homebrew 软件安装 LTS 版本的 nodejs

command-line - Graphviz Dot由于缺少库而无法删除重叠

homebrew - 如何仅使用脚本创建 Homebrew 程序公式

java - 尽管 “Update Dependencies”返回成功,Eclipse仍无法识别Gradle依赖关系

ios - OS X 是否限制辅助线程的内存使用?

MySQL 在 OS X El Capitan 10.11.3 上突然停止启动

macos - Mac 应用程序意外崩溃,异常类型为 : EXC_ARITHMETIC (SIGFPE)

objective-c - CorePlot LineGraph - 悬停/单击图表以查看值 - macOS

java - 最短的方法来看看 Maven 在 Eclipse 中的霸主地位?

java - 我应该使用 Eclipse 插件(或 OSGi Bundles)作为普通的依赖管理工具吗?