go get和go install

57 阅读1分钟

Go 1.16 之前
go get 既能下载依赖,又能安装工具。这导致歧义:有时用户只是想拉依赖(库),结果还顺带装了个二进制。

Go 1.17 开始
官方把职责拆开:go get 只管依赖(库)的版本管理,更新 go.mod / go.sumgo install 专门用来安装命令行工具(main 包),输出二进制到 $GOBIN / $GOPATH/bin

这样就更符合直觉:
“我想要依赖” → go get
“我想要工具” → go install