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=""
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0"
CXX="g++"
CGO_ENABLED=""
#其中关键看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 不要写错,如果不知道自己的安装目录,可以用
linux系统:go build报错import cycle not allowed的更多相关文章
- go 报错 import cycle not allowed
运行时报错,import cycle not allowed : 查了goole大概知道了原因,还是导包类的问题,我检察了一下我的代码库,发现我昨天划分几个工具文件,里面的两个文件相互引用,就导致报i ...
- Linux下Electron loadURL报错 ERR_FAILED(-2) Not allowed to load local resource
Linux下Electron loadURL报错 ERR_FAILED(-2) Not allowed to load local resource 背景 使用electron-vue的时候,窗体创建 ...
- linux系统unzip文件报错的解决方案
data.zip文件有4G多,解压的时候出问题了. Archive: data.zip End-of-central-directorysignature not found. Either th ...
- import cycle not allowed in test
写个 sdk 的测试时报错 import cycle not allowed in test 后发现因为测试文件内多写了导入同包路径. 同 package 下的 xxx_test.go 内不需要额外 ...
- linux 下 tomcat 运行报错 Broken pipe
linux 下 tomcat 运行报错 Broken pipe 感谢:http://hi.baidu.com/liupenglover/blog/item/4048c23ff19f1cd67d1e71 ...
- linux下安装php报错configure: error: Cannot find MySQL header files under /usr/include/mysql.
linux下安装php报错configure: error: Cannot find MySQL header files under /usr/include/mysql. 2013-03-04 1 ...
- Linux虚拟机--进入MySQL报错的解决办法
在Linux安装MySQL有时候会出现 [mysql]ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/ ...
- go build报错cannot find package
go env 关键数据是这样的 GOPATH="/home/zzy/goProject" GOROOT="/usr/local/go" 项目目录是这样的 goP ...
- Linux下Oracle11G RAC报错:在安装oracle软件时报file not found一例
Linux下Oracle11G RAC报错:在安装oracle软件时报file notfound一例 1.现象 之前安装一切都比較顺利,安装oracle软件时,进度到30%时报错:file not f ...
随机推荐
- Ubuntu下配置了ssh,但是连接很慢
ssh登录服务器时总是要停顿等待一下才能连接上,这是因为OpenSSH服务器有一个DNS查找选项UseDNS默认是打开的. UseDNS选项打开状态下,当客户端试图登录OpenSSH服务器时,服务器端 ...
- 全局唯一iD的生成 雪花算法详解及其他用法
一.介绍 雪花算法的原始版本是scala版,用于生成分布式ID(纯数字,时间顺序),订单编号等. 自增ID:对于数据敏感场景不宜使用,且不适合于分布式场景.GUID:采用无意义字符串,数据量增大时造成 ...
- SQL优化:一篇文章说清楚Oracle Hint的正确使用姿势
一.提示(Hint)概述 1为什么引入Hint? Hint是Oracle数据库中很有特色的一个功能,是很多DBA优化中经常采用的一个手段.那为什么Oracle会考虑引入优化器呢?基于代价的优化器是很聪 ...
- 华为要卖5G技术,虽然我和华为没有一点关系,但是我也很呵呵
http://www.sohu.com/a/340555529_166680 老任头,竟然说出了这样的话,要卖5G技术给西方,然后塑造对手. 按照老任头的脾气,老任头应该不至于胡说八道这样的话,但是呢 ...
- Centos7 安装vscode
1.官网下载vscode https://vscode.cdn.azure.cn/stable/0f3794b38477eea13fb47fbe15a42798e6129338/code-1.36.0 ...
- 浅析Mysql事务传播行为
传播行为 1.PROPAGATION_REQUIRED:如果当前没有事务,就创建一个新事务,如果当前存在事务,就加入该事务,该设置是最常用的设置. 2.PROPAGATION_SUPPORTS:支持当 ...
- sql datetime类型数据如果进行模糊查询
select * from Table1 where CONVERT(nvarchar(50),CreateTime,120) like '%2019'
- 关于uboot一些概念
U-boot的环境变量值得注意的有两个: bootcmd 和bootargs. bootcmd 前面有说过bootcmd是自动启动时默认执行的一些命令,因此你可以在当前环境中定义各种不同配置,不同环境 ...
- Codeforces 1198E Rectangle Painting 2 最小点覆盖(网络流)
题意:有一个n * n的棋盘,每个棋盘有某些矩形区域被染成了黑色(这些矩形区域有可能相交),问把所有黑色区域染成白色的最小花费是多少?你每次可以选择把一个矩形区域染成白色,花费是染色的矩形区域长和宽的 ...
- oldlinux
http://oldlinux.org/Linux.old/ http://oldlinux.org/Book-Lite/