1.简介
将依赖项添加到当前模块并安装它们。
go get 干了三件事:
- 一是更新 go.mod 文件将指定包及其版本加入其中。
- 二是下载包源码至模块缓存(
GOPATH/pkg/mod
)。 - 三是安装包,生成二进制程序至
GOPATH/bin
(从 Go 1.17 版本开始,为了更加符合其语义,该功能被废弃,改用go install
)。
注意: 如果包中不包含可执行文件,则不会执行第三步,即 go get 操作成功后 GOPATH/bin 目录下不会有任何编译好的二进制文件。
2.格式
代码语言:javascript复制go get [-d] [-t] [-u] [-v] [-insecure] [build flags] [packages]
3.选项
代码语言:javascript复制-d 只更新 go.mod 和下载,不安装。
-t 同时下载需要为运行测试所需要的包。
-u 更新依赖的模块至最新的次版本号(minor)或修订号(patch),如果有更新的话。
-u=patch 更新包至最新的修订号(patch),如果有更新的话。注意不是 -u patch。
-v 显示操作流程的日志及信息,方便检查错误。
-insecure 允许使用不安全的 HTTP 方式进行下载操作。
4.示例
(1)不加选项与参数执行 go get。
为当前目录的 Go 包(package)或模块(module)下载所依赖的包,并更新 go.mod 和 go.sum 文件(不存在则创建)。
代码语言:javascript复制go get
(2)添加对包的依赖或将其升级到最新版本。
代码语言:javascript复制go get example.com/pkg
(3)将包升级或降级到指定版本
代码语言:javascript复制go get example.com/pkg@v1.2.3
有关模块的详细信息,请参阅 https://golang.org/ref/mod。
有关包的详细信息,请参阅 go help packages。
参考文献
The Go Programming Language.Command go 语义化版本 2.0.0 Deprecation of ‘go get’ for installing executables