如何使用Golang安装第三方库_使用go get和go install下载包

发布时间 - 2026-01-05 00:00:00    点击率:
go get用于下载并安装依赖库,更新go.mod;go install用于构建并安装可执行命令到$GOBIN。二者用途不同,不可混用,Go 1.18+后go get不再隐式安装命令。

在 Go 中安装第三方库主要通过 go get 命令完成,go install 则用于安装可执行命令(即带有 main 函数的程序)。两者用途不同,不能混用。

go get:下载并安装依赖包(含编译进当前项目)

go get 会下载指定模块、解析依赖、构建并将其添加到当前项目的 go.mod 文件中(Go 1.11+ 默认启用模块模式)。它默认只下载源码并更新依赖记录,不生成可执行文件。

  • 安装一个库(如 github.com/spf13/cobra):
    go get github.com/spf13/cobra
  • 安装特定版本:
    go get github.com/spf13/cobra@v1.8.0
  • 安装最新主版本(如 v2+)需带版本后缀:
    go get github.com/gorilla/mux@v1.8.5
  • 如果项目启用了 Go Modules,go get 会自动写入 go.modgo.sum;若未启用,建议先运行 go mod init your-module-name

go install:安装可执行命令(不修改当前项目依赖)

go install 从远程仓库下载指定包,并仅构建其中的 main 包,将生成的二进制文件放入 $GOBIN(默认为 $GOPATH/bin),供终端直接调用。它不会影响当前项目的 go.mod

  • 安装命令行工具(如 golang.org/x/tools/cmd/goimports):
    go install golang.org/x/tools/cmd/goimports@latest
  • 必须指定版本(Go 1.17+ 强制要求),常用 @latest@v0.12.0
  • 确保 $GOBIN 在系统 PATH 中,否则无法在终端直接运行该命令

常见问题与注意事项

Go 1.18+ 默认使用模块模式,且 go get 不再支持隐式安装可执行文件(即不再等价于旧版 go install)。以下操作容易出错:

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

  • 误用 go get 安装命令工具:例如 go get golang.org/x/tools/cmd/gopls 在新版本中只会下载源码,不会生成可执行文件,应改用 go install
  • 版本不明确导致拉取错误分支:不加 @version 可能拉取 master 分支(已弃用),推荐显式指定 @latest 或语义化版本
  • 代理设置影响下载:国内用户常因网络问题失败,可配置 GOPROXY:
    go env -w GOPROXY=https://goproxy.cn,direct

验证是否安装成功

检查依赖是否写入模块:
go list -m all | grep package-name

检查命令是否可用:
which goimportsgoimports -h

查看已安装的命令列表:
ls $GOBIN(或 go env GOBIN 确认路径)


# git  # go  # github  # golang  # 工具  # ai  # proxy  # 常见问题  # 网络问题  # https  # 可执行  # 可执行文件  # 下载并安装  # 隐式  # 只会  # 第三方  # 不加  # 新版本  # 命令行  # 旧版 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何在IIS服务器上快速部署高效网站?  Chrome浏览器标签页分组怎么用_谷歌浏览器整理标签页技巧【效率】  Laravel怎么发送邮件_Laravel Mail类SMTP配置教程  ChatGPT怎么生成Excel公式_ChatGPT公式生成方法【指南】  Laravel怎么创建控制器Controller_Laravel路由绑定与控制器逻辑编写【指南】  Laravel怎么使用Blade模板引擎_Laravel模板继承与Component组件复用【手册】  BootStrap整体框架之基础布局组件  php在windows下怎么调试_phpwindows环境调试操作说明【操作】  Laravel如何安装使用Debugbar工具栏_Laravel性能调试与SQL监控插件【步骤】  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  美食网站链接制作教程视频,哪个教做美食的网站比较专业点?  如何快速搭建自助建站会员专属系统?  Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试  如何在HTML表单中获取用户输入并用JavaScript动态控制复利计算循环  在线制作视频网站免费,都有哪些好的动漫网站?  PHP 实现电台节目表的智能时间匹配与今日/明日轮播逻辑  jQuery validate插件功能与用法详解  ,怎么在广州志愿者网站注册?  移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?  高端云建站费用究竟需要多少预算?  Laravel Livewire是什么_使用Laravel Livewire构建动态前端界面  Laravel如何实现API速率限制?(Rate Limiting教程)  Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤  Python文件流缓冲机制_IO性能解析【教程】  Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】  Laravel怎么定时执行任务_Laravel任务调度器Schedule配置与Cron设置【教程】  laravel怎么为应用开启和关闭维护模式_laravel应用维护模式开启与关闭方法  如何有效防御Web建站篡改攻击?  如何在万网开始建站?分步指南解析  Laravel API路由如何设计_Laravel构建RESTful API的路由最佳实践  如何用5美元大硬盘VPS安全高效搭建个人网站?  如何在建站之星绑定自定义域名?  如何利用DOS批处理实现定时关机操作详解  齐河建站公司:营销型网站建设与SEO优化双核驱动策略  专业商城网站制作公司有哪些,pi商城官网是哪个?  Linux安全能力提升路径_长期防护思维说明【指导】  zabbix利用python脚本发送报警邮件的方法  在centOS 7安装mysql 5.7的详细教程  Laravel怎么解决跨域问题_Laravel配置CORS跨域访问  Laravel如何实现全文搜索_Laravel Scout集成Algolia或Meilisearch教程  如何快速选择适合个人网站的云服务器配置?  创业网站制作流程,创业网站可靠吗?  如何在云主机上快速搭建网站?  Microsoft Edge如何解决网页加载问题 Edge浏览器加载问题修复  瓜子二手车官方网站在线入口 瓜子二手车网页版官网通道入口  UC浏览器如何设置启动页 UC浏览器启动页设置方法  HTML透明颜色代码在Angular里怎么设置_Angular透明颜色使用指南【详解】  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】  php做exe能调用系统命令吗_执行cmd指令实现方式【详解】