go mod

2022-12-28 14:04:03 浏览数 (2)

go mod 是官方go的管理依赖的工具,集成在go1.11版本以上。基于最小版本选择(mvs)管理。

1. 初始化

go mod init

go.mod文件一旦创建后,它的内容将会被go toolchain全面掌控。go toolchain会在各类命令执行时,比如go get、go build、go mod等修改和维护go.mod文件。

2. 编译

go build ./...

若出现 fatal: could not read Username for 'https://gitlab.com': terminal prompts disabled Confirm the import path was entered correctly. 的错误,则改命令为:

GIT_TERMINAL_PROMPT=1 go build ./...

3. go get

在build时,go module模块会自动将依赖的包缓存在$GOPATH/pkg/cache/download下,由于国际知名原因,golang.org域名被屏蔽,会出现诸如 go: converting vendor/vendor.json: stat google.golang.org/grpc/serviceconfig@92635fa6bffd9db9b2cca8ce8f978bfebabd9c29: unrecognized import path "google.golang.org/grpc/serviceconfig" (https fetch: Get https://google.golang.org/grpc/serviceconfig?go-get=1: dial tcp 216.239.37.1:443: connect: connection refused) 这样的错误。

因此,对于一些golang的官方包,可以直接在github镜像库里git clone下来之后,手动放入缓存的那个路径,然后重启vscode重新build即可。

Tips

  1. 解决网络问题 go env -w GOPROXY=https://goproxy.cn,https://gocenter.io,https://goproxy.io,direct

0 人点赞