【发布时间】:2016-02-03 04:31:17
【问题描述】:
我正在尝试从 Go 1.5.3 迁移到 Go 1.6,对于某些包,当我尝试为 1.6 构建它们时遇到“不允许导入周期”错误。
例如用于构建我得到的 golint 工具:
import cycle not allowed
package github.com/golang/lint/golint
imports flag
imports errors
imports runtime
imports runtime/internal/atomic
imports runtime
我的本地环境是否有任何问题,或者有什么办法可以解决这个问题?
go env
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/radek/Projekty/Go"
GORACE=""
GOROOT="/home/radek/Software/Go/go1.6"
GOTOOLDIR="/home/radek/Software/Go/go1.6/pkg/tool/linux_amd64"
GO15VENDOREXPERIMENT=""
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0"
CXX="g++"
CGO_ENABLED="1"
【问题讨论】:
-
你跑
go get -u github.com/golang/lint/golint了吗? -
你是如何安装 Go 1.6 的?另外,你能包括
which go的输出吗? -
但是你确定你运行的是
$GOROOT/bin/go而不是旧版本吗? -
如果您使用正确的环境变量运行正确的二进制文件,那么您可能在其中捕获了 /vendor 目录。您可以尝试使用 go1.5.3 和
GO15VENDOREXPERIMENT=1设置构建,看看是否有相同的错误。 -
谢谢大家,看来我没有更新 PATH 变量去二进制文件。嗯,我现在觉得很蹩脚。重启工作,因为终端从头开始加载环境变量。
标签: go