【问题标题】:Issue with building Go 1.6构建 Go 1.6 的问题
【发布时间】: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的意义和目的了。

标签: go build


【解决方案1】:

谢谢吉姆!

问题是由于 GOROOT_BOOTSTRAP 的值不正确。它应该设置为现有的 go 1.4 安装目录,其中包含所有 go 代码和库,而不仅仅是“go”可执行文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-16
    • 1970-01-01
    • 2011-05-21
    • 1970-01-01
    • 2016-06-30
    • 1970-01-01
    相关资源
    最近更新 更多