在Homebrew 发布程序

Homebrew 基本了解

Homebrew是macOS(或者 linux)缺失的软件包管理器。常用安装命令行工具(也可安装 GUI 程序),非常便利。

Homebrew 支持多种形式的软件包管理,常见的有 Formula 和 Cask 两种。Formula 一般用来源码编译安装开源的命令行工具(mysql 、 tomcat 等),Cask 一般用来安装支持UI的应用程序(比如 微信 qq 某些插件)

创建一个 Cask

注意,如果你的软件在 github star小于75 一般会被拒绝合并到主分支。

在保证自己具备正确的 hombre cask 环境之后。

以下以 swiftjsonmodeler为示例

创建一个 Cask

brew cask create swiftjsonmodeler

就会为你创建一个 .rb 文件,如下

cask "swiftjsonmodeler" do
  version ""
  sha256 ""

  url "https://"
  name ""
  desc ""
  homepage ""

  app ""
end

你可以使用 vim或者其他编辑工具编辑。

属性简介
version应用版本号,可以使用 :latest(但是基于 github release 的不知道怎么弄)
sha256下载文件 sha256加密密钥(用于文件验证)。可以使用 :no_check来避免添加(但是如果你合并主仓库时必须有)
url应用下载地址
appcast注意这个需要手动添加,好像大部分时候都需要,介绍
app应用名字,注意是解压后的。也可以更改名字

根据项目配置后

cask "swiftjsonmodeler" do
  version "2.0.0"
  sha256 :no_check

  url "https://github.com/CodeOcenS/SwiftJSONModeler/releases/download/v#{version}/SwiftJSONModeler.For.Xcode.app.zip"
  appcast "https://github.com/CodeOcenS/SwiftJSONModeler/releases.atom"
  name "SwiftJSONModeler"
  desc "json 转 swift model 插件"
  homepage "https://github.com/CodeOcenS/SwiftJSONModeler"

  app "SwiftJSONModeler For Xcode.app"
 
end

验证配置

验证命令如下:

brew cask  audit swiftjsonmodeler

如果看见 pass 就代表文件基本可以,如果失败,则可根据提示修正。

测试你的 Cask

在提交你的 cask 之前,你应该自己测试下,安装、删除、下载是否成功。

以下命令可以避免 brew 远程更新

export HOMEBREW_NO_AUTO_UPDATE=1

安装

brew cask install swiftjsonmodeler

卸载

brew cask uninstall swiftjsonmodeler

下载验证

brew cask audit swiftjsonmodeler --download

你还应该测试 style

brew cask style --fix my-new-cask

合并主分支

首先在自己的 github中 fork 一份主分支Homebrew-cask githhub 然后本地 checkout 一份自己的分支,添加新建的 cask, 将自己分支远程修改为 fork 地址,之后推动本地分支。 在 github 上提交 pull request 等待成员管理回复。

问题处理

  1. 未添加 appcast
audit for swiftjsonmodeler: warning
 - Download uses GitHub releases, please add an appcast. See https://github.com/Homebrew/homebrew-cask/blob/HEAD/doc/cask_language_reference/stanzas/appcast.md
Error: audit failed for casks: swiftjsonmodeler

由于我是采用 realse发布, 所有需要配置 appcast,可以参考它的链接中提到的 rb 文件来配置。

  1. url 地址错误
Error: Cask 'swiftjsonmodeler' definition is invalid: 'url' stanza failed with: bad URI(is not URI?): "https://github.com/CodeOcenS/SwiftJSONModeler/releases/download/v{version}/SwiftJSONModeler.For.Xcode.app.zip"

修正后的 url

https://github.com/CodeOcenS/SwiftJSONModeler/releases/download/v#{version}/SwiftJSONModeler.For.Xcode.app.zip
  1. 测试安装找不到应用
It seems the App source '/usr/local/Caskroom/swiftjsonmodeler/2.0.0/SwiftJSONModeler.app' is not there.

在进行基本配置后,验证也通过。但是安装总是提示我的应用找不到。

经过多次测试,发现是 app 名称填写错误。 这个名称需要和你下载路径文件解压后的名称一致,否则找不到。

参考

Homebrew官网

Homebrew github 仓库 22.8k Star

Homebrew-cask githhub

Homebrew-cask 贡献一个 Cask 文档 包含添加、更新、设置一个 Cask

Homebrew-cask appcast相关

Homebrew 官方添加一个 Cask 完整教程

Homebrew creat 一个 cask rb文件示例 基于应用包发布在 github 上的如何配置 rb 文件(需要增加 appcast 部分)

Mac OS 下用 Homebrew 安装自己写的开源工具 介绍命令式应用在 home brew发布

Homebrew 安装和常用命令

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值