go get是Go语言中用于管理模块依赖的命令行工具,通过从GitHub等版本控制系统下载第三方库来添加依赖。启用Go Modules后,在项目根目录执行go mod init创建go.mod文件,随后使用go get可自动更新依赖信息。常见操作包括安装指定包如go get github.com/gorilla/mux、获取特定版本如@v1.9.0或@latest,以及用go mod tidy清理未使用依赖。自Go 1.17起,go get不再默认安装可执行文件,推荐使用go install代替。

在Go语言中,go get 是一个用于下载和安装远程包的命令行工具。它可以从版本控制系统(如GitHub、GitLab等)获取第三方库,并将其添加到你的项目中。随着Go模块(Go Modules)的引入,go get 的行为有所变化,现在主要用于管理模块依赖。
基本语法
go get [选项] [包名]
常见包名格式为:github.com/user/repo 或 github.com/user/repo/subpackage
启用Go Modules(推荐)
现代Go开发建议使用模块来管理依赖。确保你处于模块模式:
立即学习“go语言免费学习笔记(深入)”;
- 项目根目录下运行 go mod init 模块名 创建 go.mod 文件
- 例如:go mod init myproject
之后执行 go get 会自动更新 go.mod 和 go.sum 文件。
常用操作示例
1. 安装一个第三方库
go get github.com/gorilla/mux
这会下载 mux 路由库并记录到 go.mod 中。
2. 安装指定版本
JTBC CMS(5.0) 是一款基于PHP和MySQL的内容管理系统原生全栈开发框架,开源协议为AGPLv3,没有任何附加条款。系统可以通过命令行一键安装,源码方面不基于任何第三方框架,不使用任何脚手架,仅依赖一些常见的第三方类库如图表组件等,您只需要了解最基本的前端知识就能很敏捷的进行二次开发,同时我们对于常见的前端功能做了Web Component方式的封装,即便是您仅了解HTML/CSS也
- 指定 tag:go get github.com/sirupsen/logrus@v1.9.0
- 使用最新版本:go get github.com/sirupsen/logrus@latest
- 使用主分支:go get github.com/sirupsen/logrus@master
3. 更新已安装的包
重新运行 go get 包名 并加上版本标识即可更新。
4. 删除不再使用的依赖
使用以下命令清理未引用的模块:
go mod tidy
注意事项
从 Go 1.17 开始,go get 不再默认编译和安装可执行文件到 GOPATH/bin。如果要安装工具类项目(如命令行程序),仍需使用:
go install github.com/user/repo@latest
这是当前推荐的方式。
基本上就这些。只要项目启用了模块,go get 就能正确处理依赖管理。









