0

0

如何列出已安装的 Go 包

聖光之護

聖光之護

发布时间:2026-01-14 18:07:27

|

442人浏览过

|

来源于php中文网

原创

如何列出已安装的 Go 包

go 本身不提供传统意义上的“已安装包”全局清单,但可通过 `go list` 命令高效枚举工作区或标准库中的所有可构建包,支持递归遍历、依赖查看及自定义格式输出。

在 Go 生态中,并不存在类似 npm ls 或 pip list 的单一命令来显示“全局已安装第三方包”的完整列表——这是因为 Go(尤其在模块模式前)采用基于工作区(GOPATH)的源码管理机制,而非中心化二进制包仓库。自 Go 1.11 引入 Go Modules 后,依赖以 vendor/ 或模块缓存形式存在,但 go list 仍是查询当前可解析、可构建的 Go 包集合最权威、最灵活的工具

✅ 基础用法:列出当前工作区所有包

进入你的 Go 工作区根目录(如 $GOPATH/src 或任意启用了 Go Modules 的项目根目录),执行:

go list ./...
  • ./ 表示从当前目录开始;
  • ... 是通配符,代表递归匹配所有子目录下的合法 Go 包(即包含 .go 文件且能成功 go build 的目录)。
    该命令将输出所有可识别的包导入路径(如 fmt、github.com/gorilla/mux、myproject/internal/handler 等),是日常开发中检查本地包结构的首选方式。

? 列出全部可用包(含标准库)

在任意目录下运行:

go list ...

此命令会列出 Go 安装中所有可访问的包,包括:

  • 标准库包(如 net/http, encoding/json);
  • $GOROOT/src 下的官方包;
  • $GOPATH/src 中的本地包;
  • Go Modules 缓存中的依赖包(只要其路径可被 go list 解析)。

⚠️ 注意:该输出可能非常长(数百至上千行),建议配合 grep 过滤,例如 go list ... | grep -i "json"。

拍拍客 免费易推广api系统
拍拍客 免费易推广api系统

这是一套由淘掌门(taozhangmen.net)衍生出来的一个拍拍客系统!这套程序也继承了淘掌门的特点:永久免费开源!无任何时间限制、功能限制、域名限制。 程序相对于淘掌门原型,已去除返利、会员系统、文章系统等。 如果需要文章,可单独下载其他的文章系统,做子目录,效果可能会更好。 程序安装过程与淘掌门相同: 下载上传到空间,执行 你的网址/install.php 安装完成后,登陆后台修改拍拍AP

下载

? 查看包依赖关系

若需分析包间的引用关系,go list 支持模板化输出,通过 -f 参数传入 Go text/template 格式字符串:

  • 查看每个包直接导入的依赖(非递归):

    go list -f '{{.ImportPath}} → {{.Imports}}' ./...
  • 查看每个包的全部传递依赖(递归展开,含间接依赖):

    go list -f '{{.ImportPath}} → {{.Deps}}' ./...
    ? 提示:.Deps 输出的是完整依赖图(去重后),常用于构建分析或依赖审计;但数据量大,建议定向查询单个包,如 go list -f '{{.Deps}}' net/http。

⚠️ 重要注意事项

  • go list 不区分“已安装”与“仅存在源码”——它只报告当前环境能成功解析和加载的包路径,不涉及二进制安装状态(Go 包无 runtime “安装”概念,编译时按需链接)。
  • 在 Go Modules 模式下(go.mod 存在),./... 默认作用于模块内所有子目录;若需包含 vendor/ 中的包,确保 GOFLAGS="-mod=vendor" 已设置。
  • go list 不等同于 go mod graph 或 go mod vendor:前者面向包发现,后者面向依赖图可视化离线分发
  • 要检查模块版本是否过期(类似 npm outdated),应使用 go list -u -m -f '{{.Path}}: {{.Version}} → {{.Latest}}' all。

总之,go list 是 Go 开发者理解项目结构、调试导入问题、自动化脚本集成的核心命令。掌握其通配规则与模板语法,即可高效驾驭 Go 的包组织体系。

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

411

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

532

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

309

2023.10.13

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

74

2025.09.10

pip安装使用方法
pip安装使用方法

安装步骤:1、确保Python已经正确安装在您的计算机上;2、下载“get-pip.py”脚本;3、按下Win + R键,然后输入cmd并按下Enter键来打开命令行窗口;4、在命令行窗口中,使用cd命令切换到“get-pip.py”所在的目录;5、执行安装命令;6、验证安装结果即可。大家可以访问本专题下的文章,了解pip安装使用方法的更多内容。

338

2023.10.09

更新pip版本
更新pip版本

更新pip版本方法有使用pip自身更新、使用操作系统自带的包管理工具、使用python包管理工具、手动安装最新版本。想了解更多相关的内容,请阅读专题下面的文章。

405

2024.12.20

pip设置清华源
pip设置清华源

设置方法:1、打开终端或命令提示符窗口;2、运行“touch ~/.pip/pip.conf”命令创建一个名为pip的配置文件;3、打开pip.conf文件,然后添加“[global];index-url = https://pypi.tuna.tsinghua.edu.cn/simple”内容,这将把pip的镜像源设置为清华大学的镜像源;4、保存并关闭文件即可。

751

2024.12.23

python升级pip
python升级pip

本专题整合了python升级pip相关教程,阅读下面的文章了解更多详细内容。

339

2025.07.23

Java 桌面应用开发(JavaFX 实战)
Java 桌面应用开发(JavaFX 实战)

本专题系统讲解 Java 在桌面应用开发领域的实战应用,重点围绕 JavaFX 框架,涵盖界面布局、控件使用、事件处理、FXML、样式美化(CSS)、多线程与UI响应优化,以及桌面应用的打包与发布。通过完整示例项目,帮助学习者掌握 使用 Java 构建现代化、跨平台桌面应用程序的核心能力。

36

2026.01.14

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
WEB前端教程【HTML5+CSS3+JS】
WEB前端教程【HTML5+CSS3+JS】

共101课时 | 8.3万人学习

JS进阶与BootStrap学习
JS进阶与BootStrap学习

共39课时 | 3.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号