1、新建项目:
1-1、打开编辑——执行File —— New —— Project...(或左侧“Projects ”——右侧 “+New Project”) 。
1-2、左侧,选择Go modules。
右侧:
Location: /Users/xxx/xxx/codeEditingArea/demo/src/gomodtest
Proxy: https://goproxy.cn,direct // goland未见此项,故而写在了Environment里。
1-3、在编辑器里,打开项目所在终端,输入:
# go env // 检查 GO111MODULE="on" 和 GOPATH="/Users/xxx/go"
2、获取go.uber.org库:
2-1、# go get -u go.uber.org/zap
// 执行后,会看到都有哪些库+版本信息。
// 同时在go.mod 里,自动增加require()相关信息。并自动新增了一个go.sum文件(存放了一些库,版本。确保我们拉下来的版本是正确的,没有被窜改过的)。
// 例:require (
go.uber.org/atomic v1.8.0 // indirect
go.uber.org/multierr v1.7.0 // indirect
go.uber.org/zap v1.18.1 // indirect
)
2-2、新建.go测试文件:
2-2-1、在gomodtest目录下新建zaptest.go文件
2-2-2、main函数运行不了,解决方案:
2-2-2-1、首先查看package main,再次运行。
2-2-2-2、还不能运行?—— 当前项目设置:编辑器右上方,有个下拉框,点击选择 Edit Configurations...——在弹出的新窗口中,左侧:Go Build(没有的话,点击上方的+查找),点击 go build zaptest.go —— 在右侧查看文件名称,文件路径是否正确 ——OK。
2-3、调整go.uber.org/zap版本:
# go get -u go.uber.org/zap@v.11 // 将版本调至V1.11
// 查看go.mod 文件里,在require里查看go.uber.org/zap当前版本。
// 查看go.sum文件里,存在两个go.uber.org/zap版本,使用go mod tidy清除。
# go mod tidy // 整理依赖,去掉不需要的
# go get -u go.uber.org/zap // 升级到最新版
2-5、从GOPATH或GOVENDOR旧项目迁移到go mod:
/*
删除项目下go.mod文件,再重新生成。
先确认项目路径,添加依赖位置无问题。
*/
# pwd // 例:/Users/xxx/xxx/codeEditingArea/demo/src/gomodtest
# ls // 例:go.mod go.sum zaptest.go
# go build ./.. // 添加所有依赖(迁移项目代码不变,需要添加依赖)
// 以下测试旧项目迁移
# go mod init modtest2 // 生成go module文件。modtest2为创建的文件名称
# go build ./... // 将项目下的依赖拉取下来