• linux系统:go build报错import cycle not allowed


    go build

    困扰我多时的 go 编译报错:循环导入,代码肯定是没问题的,网上查说重新安装go 我觉得也不是太好的办法

    import cycle not allowed
    package day01/hello
            imports fmt
            imports errors
            imports runtime
            imports internal/bytealg
            imports internal/cpu
            imports runtime  

    环境:

    ubuntu16.04

    go1.11.4

    编辑器:vs code

    分析:

    首先是GOROOT 和GOPATH问题,一定要明确自己go 的安装目录,即GOROOT 不要写错,如果不知道自己的安装目录,可以用下面的命令查看go 安装地址

    $ whereis go
    #输出
    go: /usr/bin/go /usr/lib/go /usr/local/go /usr/share/go /usr/local/go/bin/go /usr/share/man/man1/go.1.gz
    #我可能是在不同的地方安装了多个版本的 go

    GOPATH 是我们go代码的工作路径,正常配置自己的项目文件夹路径就可以,我的是在/home/zzy/goProject

    go 环境查看

    $ go env
    #输出
    GOARCH="amd64"
    GOBIN="/usr/local/go/bin"
    GOEXE=""
    GOHOSTARCH="amd64"
    GOHOSTOS="linux"
    GOOS="linux"
    GOPATH="/home/zzy/goProject"
    GORACE=""
    GOROOT="/usr/local/go"
    GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
    GO15VENDOREXPERIMENT="1"
    CC="gcc"
    GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0"
    CXX="g++"
    CGO_ENABLED="1"
    #其中关键看GOPATH,GOROOT

    我发现我的配置都没有错啊!我的go代码工作目录也是/home/zzy/goProjec 这个路径,说明GOPATH 也没有错,那到底是哪里错了!

    最后我发现在执行whereis go 的时候,我有很多版本的go 而我在环境变量里只是配置了一个版本的GOROOT ,是go1.11.4

    但是我在用查看go版本的时候,居然显示是go1.6

    go version 

    所以我估摸是我的go安装乱了,版本太多,导致在go build 的时候找不到正确的go 路径,然后我就开始一个一个删除

    sudo rm -r   /usr/bin/go /usr/lib/go  /usr/share/go  /usr/share/man/man1/go.1.gz

    最后只留下了我确认安装过的目录,也是我环境变量正确的目录

    最后执行go build 没有报错!

    附带修改go 环境变量方法

    ###### 在/etc/profile文件中添加变量【对所有用户生效(永久的)】
    
    ##### vim修改环境变量文件 :sudo vim /etc/profile
    
    ###### 在打开的文件末尾添加 export PATH=$PATH:/usr/local/go/bin即可
    
    ###### 最后一定要启用: source /etc/profile

    分析,首先是GOROOT 和GOPATH问题,一定要明确自己go 的安装目录,即GOROOT 不要写错,如果不知道自己的安装目录,可以用

  • 相关阅读:
    《leetcode42接雨水》
    《84. 柱状图中最大的矩形》
    [bzoj1565][NOI2009]植物大战僵尸
    [bzoj1497][NOI2006]最大获利
    [洛谷P4092][HEOI2016/TJOI2016]树
    [洛谷P3760][TJOI2017]异或和
    [洛谷P3758][TJOI2017]可乐
    [洛谷P3761][TJOI2017]城市
    [Uva11134]Fabled Rooks
    又是一年叶落时
  • 原文地址:https://www.cnblogs.com/zzy-9318/p/10406193.html
Copyright © 2020-2023  润新知