为了账号安全,请及时绑定邮箱和手机立即绑定

从 1.5 到 1.6:不允许导入循环

从 1.5 到 1.6:不允许导入循环

Go
慕的地6264312 2021-12-07 18:26:30
我正在尝试从 Go 1.5.3 迁移到 Go 1.6 并且对于某些包,当我尝试为 1.6 构建它们时遇到“不允许导入循环”错误。例如,为了构建我得到的 golint 工具:import cycle not allowedpackage github.com/golang/lint/golint    imports flag    imports errors    imports runtime    imports runtime/internal/atomic    imports runtime我的本地环境中是否有任何问题,或者有什么方法可以解决这个问题?go envGOARCH="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"
查看完整描述

3 回答

?
MMMHUHU

TA贡献1834条经验 获得超8个赞

前几天我遇到了这种情况。这与我的环境变量设置错误有关。

go version并检查您是否正在使用预期的 go 发行版进行构建。

如果它不是您期望的版本,请确保将您的$GOROOT和或$GOPATH变量更新为正确的设置。

https://golang.org/doc/install


查看完整回答
反对 回复 2021-12-07
?
收到一只叮咚

TA贡献1821条经验 获得超4个赞

这个错误是当有一个包导入时显示的错误。例如,在 中$GOPATH/src/github.com/myawesome/mistakes,您有一个像这样的文件:


package mistakes


import (

    "github.com/myawesome/mistakes"

)


func CreateComplicatedBugFromSimpleMistake(m mistakes.Mistake) {

    // done.

}

那就是我正在做的。如果您的情况也是如此,您应该知道如何解决它。


查看完整回答
反对 回复 2021-12-07
?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

比较readlink -f $(which go)and的输出,echo $GOROOT如果它们不同,您应该将 $GOROOT 设置为指向您正在运行的 go 二进制文件的根目录,反之亦然。


查看完整回答
反对 回复 2021-12-07
  • 3 回答
  • 0 关注
  • 159 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信