从我阅读的所有Golang教程中,安装Go程序的方式是通过设置环境变量GOPATH=~/go
或类似的东西,然后可以运行go get blah
,Go将会下载程序,然后将二进制文件放入~/go/bin
中。您还必须将~/go/bin
添加到您的$PATH
环境变量中,以便您可以运行程序。
您将如何为所有用户将Golang程序安装到一个公共位置,这样系统上的每个用户都无需添加PATH环境变量?
我看到的唯一方法是建立一个像/usr/local/go
这样的目录,并在安装程序时将其设置为我的GOPATH
,然后需要添加{{1} }放入系统范围的$ PATH中,以便所有用户都可以运行程序。那应该怎么做?
答案 0 :(得分:0)
最干净的方法是使用符号链接,因此很明显该工具来自何处。
$ ls -al / usr / local / bin / brew
lrwxr-xr-x 1个用户管理员17 Nov 17 18:38 / usr / local / bin / brew-> / usr / local / Homebrew / bin / brew
因此要使像godocdown这样的工具对所有用户都是全局的:
ln -s "$GOPATH/bin/godocdown" /usr/local/bin/
答案 1 :(得分:0)
还有更多环境变量可控制go ...
命令的工作方式。请参阅:https://golang.org/cmd/go/#hdr-Environment_variables。在这种情况下,您可以将GOBIN
设置为所需的安装位置。例如:
GOBIN=/path/to/common/binaries go get blah
会将blah
二进制文件放入/path/to/common/binaries
中。请注意,您可能必须运行sudo
。