vcpkg depend-info

摘要

vcpkg depend-info [options] <package>...

说明

显示一组端口包的依赖项。

depend-info 以多种格式显示一组包的所有可传递依赖项,包括纯文本、树、DGML、DOT 或 Mermaid。 该包集被认为是一个单一的组合请求,类似于 vcpkg install <package>...,但与安装的包无关。

与多个三元组(默认、主机、每个包)一起使用时,会标记为默认值以外的其他三元组安装的包。 主机三元组的包标有后缀 :host

示例

列出

$ vcpkg depend-info ableton

vcpkg-cmake:
vcpkg-cmake-config:
asio: vcpkg-cmake, vcpkg-cmake-config
ableton-link: asio, vcpkg-cmake, vcpkg-cmake-config
ableton: ableton-link

$ vcpkg depend-info ableton --format=tree

ableton
+-- ableton-link
    +-- asio
    |   +-- vcpkg-cmake
    |   +-- vcpkg-cmake-config
    +-- vcpkg-cmake
    +-- vcpkg-cmake-config

圆点

$ vcpkg depend-info ableton --format=dot

digraph G{ rankdir=LR; node [fontname=Sans]; edge [minlen=3]; overlap=false;
"vcpkg-cmake";
"vcpkg-cmake-config";
"asio";
"asio" -> "vcpkg-cmake";
"asio" -> "vcpkg-cmake-config";
"ableton-link";
"ableton-link" -> "asio";
"ableton-link" -> "vcpkg-cmake";
"ableton-link" -> "vcpkg-cmake-config";
"ableton";
"ableton" -> "ableton-link";
"2 singletons...";
}

DGML

$ vcpkg depend-info ableton --format=dgml

<?xml version="1.0" encoding="utf-8"?>
<DirectedGraph xmlns="http://schemas.microsoft.com/vs/2009/dgml">
    <Nodes>
        <Node Id="ableton"/>
        <Node Id="ableton-link"/>
        <Node Id="asio"/>
        <Node Id="vcpkg-cmake"/>
        <Node Id="vcpkg-cmake-config"/>
    </Nodes>
    <Links>
        <Link Source="ableton" Target="ableton-link"/>
        <Link Source="ableton-link" Target="asio"/>
        <Link Source="ableton-link" Target="vcpkg-cmake"/>
        <Link Source="ableton-link" Target="vcpkg-cmake-config"/>
        <Link Source="asio" Target="vcpkg-cmake"/>
        <Link Source="asio" Target="vcpkg-cmake-config"/>
    </Links>
</DirectedGraph>

Mermaid

$ vcpkg depend-info ableton --format=mermaid

flowchart TD;
    ableton --> ableton-link;
    ableton-link --> asio;
    ableton-link --> vcpkg-cmake;
    ableton-link --> vcpkg-cmake-config;
    asio --> vcpkg-cmake;
    asio --> vcpkg-cmake-config;

呈现的关系图

flowchart TD;
    ableton-->ableton_link;
    ableton_link-->asio;
    ableton_link-->vcpkg_cmake;
    ableton_link-->vcpkg_cmake_config;
    asio-->vcpkg_cmake;
    asio-->vcpkg_cmake_config;

多个三元组和包

$ ./vcpkg depend-info proj tiff[core] --triplet x64-windows-static-md

vcpkg-cmake:host: 
vcpkg-cmake-config:host: 
zlib: vcpkg-cmake:host
liblzma: vcpkg-cmake:host, vcpkg-cmake-config:host
curl[sspi, ssl, schannel, non-http]: vcpkg-cmake:host, vcpkg-cmake-config:host, zlib
nlohmann-json: vcpkg-cmake:host, vcpkg-cmake-config:host
sqlite3[json1, tool]:host: vcpkg-cmake:host, vcpkg-cmake-config:host
sqlite3[json1]: vcpkg-cmake:host, vcpkg-cmake-config:host
tiff[zip, lzma]: liblzma, vcpkg-cmake:host, vcpkg-cmake-config:host, zlib
proj[tiff, net]: curl, nlohmann-json, sqlite3:host, sqlite3, tiff, vcpkg-cmake:host, vcpkg-cmake-config:host

选项

所有 vcpkg 命令都支持一组通用选项

--format=<format>

list

默认格式,打印文本列表。

tree

打印类似于控制台命令 tree 的“树”。

dot

生成 DOT 图形说明格式的依赖关系树。

dgml

生成 DGML(定向图形标记语言)XML 格式的依赖关系树。

mermaid

生成 Mermaid 关系图语法格式的依赖关系树。

--show-depth

在输出中显示递归深度。

仅接受列表和树格式。

--max-recurse=<depth>

设置要显示的最大深度。

值为 -1 表示无限制。

--sort=<type>

设置依赖项列表的排序顺序。

仅接受列表格式。

排序选项:

  • lexicographical - 按名称排序
  • topological -(默认)按深度递增排序
  • reverse - 按深度递减排序