goland 的有些三方包没有自动导入问题
1. 运行环境
GO111MODULE="on"
GOARCH="amd64"
GOBIN="/Users/zerduo/go/bin"
GOCACHE="/Users/zerduo/Library/Caches/go-build"
GOENV="/Users/zerduo/Library/Application Support/go/env"
GOEXE=""
GOEXPERIMENT=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GOMODCACHE="/Users/zerduo/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/zerduo/go"
GOPRIVATE=""
GOPROXY="https://goproxy.cn,direct"
GOROOT="/usr/local/Cellar/go/1.18.4/libexec"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/Cellar/go/1.18.4/libexec/pkg/tool/darwin_amd64"
GOVCS=""
GOVERSION="go1.18.4"
GCCGO="gccgo"
GOAMD64="v1"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/Users/zerduo/go/goapi/go.mod"
GOWORK=""
2. 问题描述?
有个点比较疑惑,为啥有的三方包可以自动导入,有的就没法自动导入,原因是什么,能否有大佬帮忙解答下
3. 您期望得到的结果?


4. 您实际得到的结果?
在网上找了一些答案,说是在启用go module后,需要把项目放在go path以外,试验了一下,并没有解决问题,希望大佬说下具体原因
关于 LearnKu
go mod init [project_name]
go mod tidy
看看是不是缺这些步骤
goland 没用过,不知道集成工具里面有没有
如果是 vscode,是需要这些步骤然后,需要第三方包的时候 go get 包名,就可以在项目中使用了
你可以简单理解为,每一个 go mod 就包含了原来的 GOPATH 的功能,但是实际的资源文件(源代码)还是在 GOPATH 里面
你看看你自己的项目的 go.mod 文件里面有没有这个引入的包名和对应的版本号,比如

module xxx
go 1.xx
require (
github.com/gin-gonic/gin v1.6.3
github.com/go-redis/redis/v8 v8.11.4
)
删除 go.mod 里面的
github.com/mgutz/ansi那一行,然后在你的项目目录下执行go get -u github.com/mgutz/ansi如果go.mod文件中已经存在导入的包那么就删除掉,然后
go get -u 包地址重新下载包 goland确实有时候会抽风,如果上述还是不行,那么教你一个杀手锏百试百灵: 重启—> 新建项目—>重复上述步骤~ :joy: