如何在Golang中安装常用依赖包_使用go get和go install管理库

16次阅读

go get用于管理依赖库并更新go.mod,go install用于安装CLI工具且不修改go.mod;二者用途不同,Go 1.17+需在模块模式下使用,通过go mod init、go list -m和go env GO111MODULE确认环境。

如何在Golang中安装常用依赖包_使用go get和go install管理库

在 Go 中安装依赖包主要通过 go get,而 go install 主要用于安装可执行命令(如 CLI 工具),两者用途不同,不能混用。Go 1.17+ 默认启用模块模式(Go Modules),推荐始终在模块环境下操作,避免 GOPATH 旧模式带来的混乱。

确认是否在 Go 模块环境中

运行以下命令检查当前目录是否已初始化为模块:

go mod init (若尚未初始化)
go list -m(查看当前模块名)
go env GO111MODULE(应返回 on

不在模块中直接执行 go get 可能导致包被下载到 GOPATH/pkg/mod,但不会写入 go.mod,后续构建可能出错。

使用 go get 安装依赖库

go get 会下载包、更新 go.modgo.sum,并自动满足 import 引用需求。常用方式包括:

立即学习go语言免费学习笔记(深入)”;

  • 安装最新版go get github.com/gin-gonic/gin
  • 安装指定版本go get github.com/spf13/cobra@v1.8.0
  • 安装主分支最新提交go get github.com/golang/freetype@master
  • 仅下载不写入依赖(临时使用)go get -d github.com/go-sql-driver/mysql-d 跳过构建和 require 写入)

注意:Go 1.21+ 开始,go get 不再默认构建或安装命令,仅管理依赖;若需安装二进制,改用 go install

使用 go install 安装可执行工具

go install 用于构建并安装带有 main 函数的包(即 CLI 工具),它不修改当前模块的 go.mod,而是从远程拉取源码、编译、放入 $GOBIN(默认为 $GOPATH/bin)。

  • 安装最新版命令go install golang.org/x/tools/cmd/goimports@latest
  • 安装特定版本命令go install github.com/cosmtrek/air@v1.47.1
  • 确保 $GOBIN 在 PATH 中,否则安装后命令不可用:
    export PATH=$GOBIN:$PATHlinux/macOS)或对应添加到系统环境变量(windows

清理与验证依赖

日常维护建议定期执行:

  • 下载缺失依赖go mod download
  • 删除未使用的依赖go mod tidy(自动增删 go.mod 中的 require)
  • 升级所有依赖到最新兼容版go get -u(慎用,可能引入不兼容变更)
  • 检查依赖漏洞go list -m -u allgo vulncheck ./...(Go 1.18+)

不复杂但容易忽略。

text=ZqhQzanResources