将 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
。可能有更好的方法,但到目前为止我还没有看到。
我正在尝试安装一个 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
。可能有更好的方法,但到目前为止我还没有看到。