如何为自制软件打包go项目

如何为自制软件打包go项目,go,package,formula,homebrew,Go,Package,Formula,Homebrew,我们正在开发并尝试支持类似brew安装runscripts 它是用golang编写的,并且有一些依赖项,这些依赖项需要去获取。现在我不知道如何编写公式来设置GOPATH并运行go-get。我们的项目可以编译成二进制文件,但是我们需要run--init来安装它 有人能帮我举一个关于go项目的自制公式的例子吗?我已经提到过,我们似乎可以简单地go get,而自制将为我们处理任何关于GOPATH的事情 这太好了,我想我的问题已经解决了。这里有一个可能的解决方法,可以在签出中创建一个build目录,作为

我们正在开发并尝试支持类似
brew安装runscripts

它是用golang编写的,并且有一些依赖项,这些依赖项需要
去获取
。现在我不知道如何编写公式来设置GOPATH并运行
go-get
。我们的项目可以编译成二进制文件,但是我们需要
run--init
来安装它

有人能帮我举一个关于go项目的自制公式的例子吗?

我已经提到过,我们似乎可以简单地
go get
,而自制将为我们处理任何关于
GOPATH
的事情


这太好了,我想我的问题已经解决了。

这里有一个可能的解决方法,可以在签出中创建一个
build
目录,作为
GOPATH

...
def install
    system "mkdir -p build/src"
    system "ln -s `pwd` build/src/repo"
    system "GOPATH=`pwd`/build go get repo/mytool"
    bin.install "build/bin/mytool"
    ...
end
...

我能找到的最好方法是如何将
docker swarm
添加到brew中:


它相对干净,操作简单。

Fork,看看Library/Formula/consul.rb的内容。您不需要手动生成所有资源。使用。可以找到更完整的介绍。

Docker正在进行:谢谢@Matt。我读过docker.rb,但有点复杂。我们只需要
获取依赖项并运行命令安装它。原始链接已存档(只读),但仍有价值,因此我不想编辑它。然而,这是当前指向termshare.rb公式的链接:很奇怪为什么这被否决了。它最终为我工作。