golang go build 报错 import cycle not allowed
困扰我多时的 go 编译报错:循环导入,代码肯定是没问题的,网上查说重新安装go 我觉得也不是太好的办法
import cycle not allowed
package day01/helloimports fmtimports errorsimports runtimeimports internal/bytealgimports internal/cpuimports 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 不要写错,如果不知道自己的安装目录,可以用
golang go build 报错 import cycle not allowed相关推荐
- packer build 报错 无任何输出 一直报“skipping line: 1 skipping line: 2 skipping line: 3.....”
最近使用packer build 报错 无任何输出 一直报"skipping line: 1 skipping line: 2 skipping line: 3....." , 解 ...
- 一种解决Android studio 3.0 Build报错的方法
一种解决Android studio 3.0 Build报错的方法 参考文章: (1)一种解决Android studio 3.0 Build报错的方法 (2)https://www.cnblogs. ...
- 使用golang发送邮件,报错“x509: certificate signed by unknown authority”
问题描述 使用golang发送邮件,报错"x509: certificate signed by unknown authority",这是由于客户端默认要对服务端传过来的数字证书 ...
- npm run build报错Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of
在react项目执行 npm run build 报错 Ineffective mark-compacts near heap limit Allocation failed - JavaScript ...
- vue打包npm run build报错
vue打包npm run build报错: 近期领导要求用vue做一个项目,最近在研究和学习vue,在项目打包时一直报错,这个问题困扰了好久,尝试了很多网上办法,但都没有用 电脑每次开机首次执行npm ...
- SAP IDoc 报错- Function module not allowed SPEIDOC_INPUT_DESADV1 –
SAP IDoc 报错- Function module not allowed SPEIDOC_INPUT_DESADV1 – 在公司间STO流程中,很多项目里实现了在外向交货单PGI之后,自动触发 ...
- mysql安装报错 1130_关于Linux编译安装会无法远程登录,报错:1130-host ... is not allowed to connect to this MySql server...
报错:1130-host ... is not allowed to connect to this MySql server, 这是默认安装时为了安全不允许远程登录数据库.只用改下就可以,但我第一次 ...
- MySQL : 报错:1130-host ... is not allowed to connect to this MySql server 开放mysql远程连接 不使用localhost...
MySQL : 报错:1130-host ... is not allowed to connect to this MySql server 开放mysql远程连接 不使用localhost 摘自: ...
- 报错:1130-host ... is not allowed to connect to this MySql server 开放mysql远程连接 不使用localhost...
报错:1130-host ... is not allowed to connect to this MySql server 解决方法: 1. 改表法. 可能是你的帐号不允许从远程登陆,只能在loc ...
最新文章
- 【FPGA】ROM/EPROM的设计(使用加载文件的方式初始化)
- python进行数据分析 kindle_利用Python进行数据分析
- 常用WebService一览表
- 手写简版spring --2--实现Bean的定义、注册、获取
- 高性能流媒体服务器EasyDSS前端重构(二) webpack + vue + AdminLTE 多页面提取共用文件, 优化编译时间...
- Springmvc中提交from之后不跳转不进控制器
- flink常见算子的一些操作
- chrome浏览器开发者工具F12中某网站的sources下的源码如何批量保存?
- 【Elasticsearch】Data too large, data for which is larger than the limit of
- eclipse启动报错 Java was started but returned exit code=13 解决方法
- 【转】ubuntu 12.04 /sbin/ldconfig.real: /usr/local/lib/*.so.8 不是符号连接 解决办法
- 单片机课程设计——交通灯
- 64k超高清3d程序 Warez出品的精品动画 近25万倍的压缩的精品
- ccf csp 201612-2 工资计算
- 005_Python字符串练习_[吉比特校招编程题]字母数字混合排序
- 基于分类分级的医疗临床数据合规共享与安全防护建设实践
- Android百度地图自定义添加Marker点
- Windows Mobile 6.1模拟器发布,欢迎下载!
- PAT 乙级 1046(划拳)
- web应用开发的主流技术