go get 和 go install 是 Go 语言中用于获取和安装依赖库的命令,它们有一些区别。

go get

go get 命令用于获取指定包的源代码并自动解析和下载依赖项。它会将代码克隆到 $GOPATH/src 目录下,并编译和安装包及其依赖项到 $GOPATH/pkg 目录中。此外,go get 还会将获取的代码包及其版本信息记录到 $GOPATH/pkg/mod 目录下的 go.mod 文件中,以便于管理依赖关系。

例如,要获取 gRPC 库,可以使用以下命令:

go get google.golang.org/grpc

go install

go install
go install 命令用于编译和安装指定的包或可执行文件。它会将指定的包编译为二进制文件并安装到 $GOPATH/bin 目录下。如果指定的包有依赖项,go install 会先编译和安装依赖项。但是,与 go get 不同,go install 不会自动下载依赖项,而是依赖于已经安装在 $GOPATH/pkg 目录下的包。

例如,要安装 gRPC 库,可以使用以下命令:

go install google.golang.org/grpc

总结:

  • go get 获取源代码并自动解析和下载依赖项,记录版本信息到 go.mod 文件。
  • go install 编译和安装指定的包或可执行文件,依赖于已安装的依赖项。

需要注意的是,从 Go 1.16 版本开始,推荐使用 Go Modules(通过 go mod init 命令)来管理依赖关系,而不是直接使用 go get 和 go install。Go Modules 可以更好地处理依赖项的版本控制和私有依赖项的获取。



go get与go install安装依赖库的区别插图

关注公众号:程序新视界,一个让你软实力、硬技术同步提升的平台

除非注明,否则均为程序新视界原创文章,转载必须以链接形式标明本文链接

本文链接:http://www.choupangxia.com/2023/09/04/go-get-and-go-install/