如何将go程序发布到home brew

为什么要做#

最近写了个数据转换工具
起因是开发过程中经常临时遇到一些数据转换需求
比如时间戳转换,md5 校验,sha256 校验,base64 数据转化,json 数据转 go-struct 等
写完后觉得工具挺实用的,要是能让其他人也能使用就好了
如果本地有 golang 环境可以直接运行 go install github.com/wangle201210/dt@latest 安装
但是万一不是 gopher 就没法了
还有一个方法就是去 github 直接下载 release 里面的二进制文件
但是,需要下载,且放到 $PATH 才方便运行
整个流程下来不是很方便
此时就想到 mac 常用的安装方法 home brew

怎么做#

  1. 添加一个 git 仓库(必须以 homebrew - 开头)homebrew-dt
  2. 添加文件 Formula/dt.rb 并提交到 github
    class Dt < Formula
     desc "data-transfer,数据转换工具"
     homepage "https://github.com/wangle201210/dt"
     if Hardware::CPU.intel?
       url "https://github.com/wangle201210/dt/releases/download/v0.0.1-alpha/dt_0.0.1.tar.gz"
       sha256 "7bdf0fc1a80252bb7acc89dc557895f99f3955b1d54bd0ccbab20eab06ea8ded"
      else
        url "https://github.com/wangle201210/dt/releases/download/v0.0.1-alpha/dt_arm64_0.0.1.tar.gz"
        sha256 "3fa102dbcca4e292d23462977089f31ee843d2a737729f377b0de94c743a82a7"
     end
     version "1.0.0"
     def install
         bin.install "dt"
         system "xattr", "-c", "#{bin}/dt"
     end
    end
  3. 添加 tap brew tap wangle201210/dt
  4. 安装 dt 工具 brew install dt
  5. 校验是否安装成功 dt version
    如果出现问题想取消 tap brew untap wangle201210/dt
本作品采用《CC 协议》,转载必须注明作者和本文链接