go-work工作区
go-work工作区
前篇
- 官方博文:Go 1.18工作区模式最佳实践 - https://jincheng9.github.io/post/go1.18-workspace-mode-best-practice/
- Golang之工作区workspace - https://www.cnblogs.com/xingxia/p/golang_workspace.html
- Go 1.18 新特性多模块工作区教程-让多模块开发变得简单 - https://studygolang.com/articles/35547
相比于 go.mod, go.work 可以直接修改引入的模块, 并生效, 不需要 go mod vendor
, 不会生成到 vendor 里
使用工作区
创建 go.work 文件, 直接指定模块
1
2
3
4
5
6
7
8
9
10go 1.22
toolchain go1.22.5
use (
./go-lib // 引入的模块
. // 本模块
)
replace go-lib v0.0.0-00010101000000-000000000000 => ./go-lib // 必须指定版本- 这里增加了引入模块, go.mod 中相应的模块就要移除掉
使用刷新一下
1
go work vendor
- 使用了 工作区 模式后,
go mod vendor
命令就不能用了
- 使用了 工作区 模式后,
踩坑
goland 编辑器提示找不到模块但又能编译通过
- 解决办法将编辑器升级到最新即可