一、确保路径设置正确
项目的目录结构有问题。建议结构:
project:
- bin (可不需要)
- src
- sub-project-1
- module1
- module2
- vendor
- sub-project-2
- pkg (可不需要)
并将project目录 追加 到环境变量GOPATH中。GOPATH中只保存一个路径
- 设置环境变量GOPATH 方法一
vim /etc/profile
##编辑器中首行填写如下内容,GOPATH和GOROOT根据读者自己情况修改
export GOPATH=/root/go
export GOROOT=/usr/lib/golang
export PATH=$GOPATH/bin:$PATH
##wq保存退出文件,并执行
source /etc/profile
- 设置环境变量GOPATH 方法二
go env -w GOPATH=/root/go
二、查看是否有重复文件夹
在centos目录下,即GOROOT目录中,发现src/中有与GOPATH中项目相同的目录文件,删除其之后,再重新编译GOPATH中项目,即可解决问题。其中XXX表示编译工程项目。
rm -rf /usr/lib/golang/src/XXX
大佬求助,我运行go项目遇到这个问题。我的import都是能找到的,函数也能找到调用。main如果里面写得很简单就一句输出就没问题,但是如果有用到一些包的引用就会出这个错误?咋办啊。。。欢迎联系qq:120684310(平时不打扰仅咨询 万分感谢
unexpected directory layout:
import path: _/E_/Go-workspace/src/sProject/sm3
root: E:\Go-workspace\src
dir: E:\Go-workspace\src\sProject\sm3
expand root: E:\Go-workspace
expand dir: E:\Go-workspace\src\sProject\sm3
separator: \
你是用的windows系统吗?那个编译的话,最好用powershell工具。你这个应该是GOPATH路径设置问题,import path: _/E_/Go-workspace/src/sProject/sm3, 这个里面最前面多了个下划线