go - 如何列出已安装的 go 包

标签 go

据我所知,go distribution 带有某种 package managergo 1.4.1 安装后,我运行了 go help 以找到能够列出本地安装的 go packages 的任何子命令,但是不幸的是没有。

那该怎么做呢?

最佳答案

goinstall 现已成为历史

goinstall 已替换为 go getgo get 用于管理外部/第 3 方库(例如下载、更新、安装等)。

键入 go help get 以查看命令行帮助,或查看以下页面:

Command go

About the go command (博文)

如果要列出已安装的包,可以使用 go list 命令:

列出包

要列出工作区中的包,请转到工作区文件夹并运行以下命令:

go list ./...

./ 告诉从当前文件夹开始,... 告诉递归下去。当然,这不仅适用于您的 go 工作区中的任何其他文件夹(但通常这是您感兴趣的)。

列出所有包

执行

go list ...

在任何文件夹中列出所有包,包括标准库的包,首先是您的 go 工作区中的外部库。

包及其依赖项

如果你还想按每个包查看导入的包,可以试试这个自定义格式:

go list -f "{{.ImportPath}} {{.Imports}}" ./...

-f 指定列表的替代格式,使用包 template 的语法.可以通过go help list命令打印其字段可以引用的struct。

如果你想查看所有的依赖递归(递归导入包的依赖),你可以使用这个自定义格式:

go list -f "{{.ImportPath}} {{.Deps}}" ./...

但通常这是一个很长的列表,并且每个包的单个导入 ("{{.Imports}}") 就是您想要的。


另见相关问题:What's the Go (mod) equivalent of npm-outdated?

关于go - 如何列出已安装的 go 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28166249/

相关文章:

unit-testing - 在 Go 包中将用于测试的共享代码放在哪里?

docker - 在 Docker 中,无法 cd 进入安装了 "go get"的目录?

go - Go中的递归锁定

bash - 预定义 test.coverprofile 标志

go - 未加载时如何忽略JSON输出中的关联字段?

go - 分页 slice

go - golang 中的指针

go - 管道 http.Response 到 http.ResponseWriter

go - 使用 go-oauth2/oauth2 库生成 JWT 刷新 token

google-app-engine - appengine 的跨平台 go 代码