开启go mod
在使用命令go mod init your-project
初始化go mod时要确定自己的go环境是否已经开启了go mod的功能。
使用命令go env
查看环境配置,检查GO111MODULE
的参数值,如果是off
则使用一下命令来启用:go env -w GO111MODULE=on
。其中on
代表命令行会一直使用moudle而不会去GOPATH目录下寻找依赖包。auto
代表根据当前目录决定是否启用moudle功能。
修改代理地址
由于go语言是Google公司开发的语言,因此在访问一些网络功能是使用默认的地址会比较困难,因此需要修改代理地址,使用如下命令:go env -w GOPROXY=https://goproxy.cn,direct
。修改完成后就能成功下载所需文件了。另外在安装开发工具(go install tools
)安装失败也有可能是此原因。
go mod tidy
做完上述操作在import
里添加的包仍然无法下载,终端提示如下信息:
no required module provides package github.com/gorilla/websocket;
to add it:
go get github.com/gorilla/websocket
执行go mod tidy
或者项对应的go get github.com/gorilla/websocket
后会发现生成了sum文件,同时mod文件中添加的依赖。
原因
go在1.16版本后不再默认支持go build
修改mod文件,添加依赖包需要手动添加(使用tidy或get)。