vs code配置go开发环境以及问题解决 could not import cannot find package in GOROOT or GOPATH
vs code配置go开发环境以及问题解决 could not import cannot find package in GOROOT or GOPATH
配置过程:
- 安装vs code
- 安装go的包并安装,golang.org/dl/,执行go version验证已安装好
- 配置go环境变量
3.1. 新建系统变量GOROOT,设置为go的安装路径,例如:D:\software\go
3.2. 新增系统变量GOPATH,设置为go的项目路径,例如D:\goWorkSpace
3.3. 检查系统变量中Path,一般可以看到 Go 的路径已经配置好了,我们不需要动,这是 Go 在安装时自动配置的,例如D:\software\go\bin
3.4. 用户变量里的 GOPATH 也换成自定义的目录,例如D:\goWorkSpace
3.5. 编辑用户变量里的 Path,%USERPROFILE%go\bin改为%GOPATH%\bin
3.6. Win + R,输入 cmd 打开命令行,输入 go env 可以检查一下,主要是看一下GOROOT和GOPATH这两个变量 - vs code打开终端并执行
4.1. go version
4.2. go env -w GO111MODULE=on (只有用module模式才设置这个,下面的问题就是这里导致的)
4.3. go env -w GOPROXY=https://goproxy.cn,direct
4.4. 在vscode界面按键盘ctrl+shift+p,输入Go: install/update tools,回车如下图,选择要安装的依赖(这里全选),等待安装完成
遇到的问题:
包无法识别到,could not import cannot find package in GOROOT or GOPATH
解决办法:
go env -w GO111MODULE=off
了解:
Go 语言中的 GOPATH 模式 和 Module 模式(Go Modules) 是两种不同的依赖管理和项目构建机制,它们的核心区别如下:
GOPATH 模式(传统模式),Go 1.11 之前唯一的管理方式。所有项目代码必须放在 $GOPATH/src 目录下(例如 $GOPATH/src/github.com/your/project)。
依赖的第三方包同样下载到 $GOPATH/src 中,无版本控制,默认使用最新代码(通常是 master 分支)。
Module 模式(Go Modules),Go 1.11 引入,1.16 后成为默认模式。项目可放在任意位置(不再依赖 GOPATH)。通过项目根目录的 go.mod 文件管理依赖和版本。依赖下载到全局缓存 $GOPATH/pkg/mod,不同项目可引用不同版本。