如何列出已安装的 go 包

新手上路,请多包涵

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

那怎么办呢?

原文由 sof 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.5k
2 个回答

goinstall 现在已经成为历史

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

go help get 查看命令行帮助,或查看这些页面:

命令去

关于 go 命令(博客文章)

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

列出包

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

 go list ./...

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

列出所有包

执行中

go list ...

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

包及其依赖

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

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

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

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

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

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


另请参阅相关问题: What’s the Go (mod) equivalent of npm-outdated?

原文由 icza 发布,翻译遵循 CC BY-SA 4.0 许可协议

启动 Go 文档服务器:

 godoc --http :6060

访问 http://localhost:6060/pkg

将列出您所有的包裹。

当您安装新的时,它们不会自动出现。您需要重新启动 godoc

原文由 Michael A. 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题