一尘不染

如何列出已安装的go软件包

go

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

那怎么办呢?


阅读 4292

收藏
2020-07-02

共1个答案

一尘不染

goinstall 现在是历史

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

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

命令去

关于go命令 (博客文章)

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

列表包

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

go list ./...

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

列出所有包裹

执行中

go list ...

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

软件包及其依赖性

如果您还想查看每个软件包导入的软件包,则可以尝试以下自定义格式:

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

-f使用package的语法为列表指定替代格式template。可以引用该go help list命令的字段可以引用其字段的结构。

如果要 递归 查看所有依赖项( 递归 查看导入包的依赖项),可以使用以下自定义格式:

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

但是通常这是一个很长的列表,只是"{{.Imports}}"每个软件包的单个import()就是您想要的。

2020-07-02