当前位置: 首页 > 面试题库 >

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

孔鸿哲
2023-03-14
问题内容

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

那怎么办呢?


问题答案:

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()就是您想要的。



 类似资料:
  • 问题内容: 如何通过goinstall列出所有已安装的软件包?我需要将所有安装在一台计算机上的软件包重新安装到另一台计算机上。 问题答案: $ GOROOT / goinstall.log下有一个列表。如果要将所有软件包安装在另一台计算机上,只需复制文件并运行, goinstall将读取该文件并安装其中列出的所有软件包。

  • 问题内容: 我已经使用Go模块安装了一个软件包(在Go 1.13中获取),现在我想将其删除。在文档中没有关于此的任何内容,在go中也没有。 手动从go.mod中删除软件包无法解决问题,因此仍保留在go.sum中。 我应该如何清洁包装? 问题答案: 找到了它https://blog.golang.org/using-go- modules#TOC_7。 因此,基本上,一旦未将软件包导入任何软件包中,

  • 问题内容: 如何仅列出用户安装的软件包?当我这样做时,它会输出每个包及其依赖性,这不是我想要的。 问题答案: 这也很好: npm :节点程序包管理器命令行工具 list -g :显示在用户文件夹中找到的每个软件包的树(不带-g选项,它仅显示当前目录的软件包) depth 0 / — depth = 0 :避免在树形视图中包括每个包的依赖项

  • 问题内容: 我想将包从github安装到我的gopath,我已经尝试过了: 仓库在这里。 问题答案: 命令去 下载并安装软件包和依赖项 用法: [packages] Get下载由导入路径命名的包及其依赖项。然后,它将安装命名的软件包,例如“ go install”。 -d标志指示下载软件包后停止。也就是说,它指示不要安装软件包。 -f标志仅在设置-u后才有效,它强制-u不验证每个软件包是否已从其导

  • 我正在尝试用composer安装maddhatter/laravelfullcalendar包(laravelhelper for fullcalendar.io)。下面是我运行的命令: ''php.././composer.phar需要maddhatter/laravel fullcalendar'' 结果是这样的: 将^1.3版用于maddhatter/laravel fullcalendar

  • 问题内容: 在了解需要设置否则该软件包会使我的Go根安装不干净之前,我跑了一个包来下载(我更希望保持Go的安装干净,并将核心与自定义分开)。如何删除以前安装的软件包? 问题答案: 删除源目录和已编译的软件包文件是安全的。在下找到源目录,在下找到包文件,例如:。