将 go 包安装到系统路径的正确方法是什么?

What's the proper way to install a go package to the system path?

我正在尝试安装一个 go 项目 (the keybase client, in particular),但我想为我系统上的所有用户全局安装它。

我四处搜索,发现一些人不小心将东西安装到 /usr/local/go/bin 或类似的东西,但没有关于我实际上如何 应该 的说明在这些地方安装东西。

但这就是我想要做的 - 全局安装应用程序。我应该如何使用 go 来做到这一点?

我没有使用任何预构建包,因为 none 存在于 Raspbian Jesse.

您是否尝试过像这样设置 $GOBIN:

GOBIN=/usr/local/bin/ 或 GOBIN=/usr/bin/ 或 PATH 中的任何目录?

然后:

导出 GOBIN

然后安装应用程序?

根据手册,默认的 $GOBIN 是 $GOROOT/bin 所以我猜那些用户将 GOROOT 设置为 /usr/local/go

我采用的方法是这样的:

PATH="$PATH:/usr/local/go/bin" GOPATH=/usr/local/go/ go get github.com/keybase/client/go/keybase
PATH="$PATH:/usr/local/go/bin" GOPATH=/usr/local/go/ go install -tags production github.com/keybase/client/go/keybase

最终将 keybase 安装到 /usr/local/go/bin/keybase。可能有更好的方法,但到目前为止我还没有看到。