如何将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 协议》,转载必须注明作者和本文链接
讨论数量: 2

好东西,学习了,可以添加自己的软件了

1个月前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!