【发布时间】:2016-03-31 00:42:03
【问题描述】:
我正在尝试在 linux.(amd64) 中构建和安装 go 1.6。
我已经安装了 go 1.42。
我不断收到错误消息:构建 dist 时不允许导入循环。
我已经从 /usr/lib/golang/bin/go 符号链接到 /usr/bin。 我已经设置了 GOROOT_BOOTSTRAP=/usr
GOARCH="amd64"
GOBIN=""
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/usr/share/gocode"
GORACE=""
GOTOOLDIR="/usr/bin/pkg/tool/linux_amd64"
GOROOT="/usr/bin"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0"
CXX="g++"
CGO_ENABLED="1"
知道这里出了什么问题吗?
【问题讨论】:
-
如果您正在寻找快速安装,请使用自制软件:
brew install go。 -
我喜欢使用 make.bash --clean-all 从二进制 tarball 安装。我想知道这里“导入周期”的来源。
-
/usr/bin绝对不是 GOROOT 的好值,我怀疑/usr是 GOROOT_BOOTSTRAP 的正确值。 GOROOT应该是你解压的tarball的根目录(最好放在/usr/local/go,不要设置GOROOT),GOROOT_BOOTSTRAP应该是现有go1.4安装的GOROOT。它与您可能将go可执行文件符号链接的位置无关(但您可能应该将 bin 目录添加到您的路径中,而不是依赖符号链接) -
感谢 JimB,您的建议奏效了!终于明白GOROOT & GOROOT_BOOTSTRAP的意义和目的了。