conan download¶
$ conan download -h
usage: conan download [-h] [-v [V]] [-cc CORE_CONF] [-f FORMAT]
[--out-file OUT_FILE] [--only-recipe] [-p PACKAGE_QUERY]
-r REMOTE [-m METADATA] [-l LIST]
[pattern]
Download (without installing) a single conan package from a remote server.
It downloads just the package, but not its transitive dependencies, and it will not call
any generate, generators or deployers.
It can download multiple packages if patterns are used, and also works with
queries over the package binaries.
positional arguments:
pattern A pattern in the form
'pkg/version#revision:package_id#revision', e.g:
"zlib/1.2.13:*" means all binaries for zlib/1.2.13. If
revision is not specified, it is assumed latest one.
options:
-h, --help show this help message and exit
-v [V] Level of detail of the output. Valid options from less
verbose to more verbose: -vquiet, -verror, -vwarning,
-vnotice, -vstatus, -v or -vverbose, -vv or -vdebug,
-vvv or -vtrace
-cc CORE_CONF, --core-conf CORE_CONF
Define core configuration, overwriting global.conf
values. E.g.: -cc core:non_interactive=True
-f FORMAT, --format FORMAT
Select the output format: json
--out-file OUT_FILE Write the output of the command to the specified file
instead of stdout.
--only-recipe Download only the recipe/s, not the binary packages.
-p PACKAGE_QUERY, --package-query PACKAGE_QUERY
Only download packages matching a specific query. e.g:
os=Windows AND (arch=x86 OR compiler=gcc)
-r REMOTE, --remote REMOTE
Download from this specific remote
-m METADATA, --metadata METADATA
Download the metadata matching the pattern, even if
the package is already in the cache and not downloaded
-l LIST, --list LIST Package list file
从指定的远程仓库下载 recipe 和二进制文件到本地缓存。
注意
请注意,与 conan install 不同,conan download 不会下载所下载软件包的任何传递依赖项。
conan download
命令可以下载软件包到一个服务器仓库,该仓库由 -r=myremote
参数指定。
它有 2 种可能的互斥输入
conan download <pattern>
基于模式匹配 recipe,其模式类似于conan list <pattern>
。conan download --list=<pkglist>
,它将上传pkglist
json 文件中指定的产物
你可以使用模式来下载特定的引用,就像在其他命令(如 conan list)中一样 (请参阅那里的模式文档 conan list) 或 conan upload
# download latest revision and packages for all openssl versions in foo remote
$ conan download "openssl/*" -r foo
注意
conan download 默认只会下载最新的修订版本。 如果你想下载最新版本以外的更多修订版本,你可以在引用模式参数的修订版本部分使用通配符
你也可以只下载 recipe(在这种情况下,选择模式中的所有修订版本,而不仅仅是最新的一个)
# download all recipe revisions for zlib/1.2.13
$ conan download "zlib/1.2.13#*" -r foo --only-recipe
如果你只想下载属于特定 setting 的包,请使用 --package-query
参数
$ conan download "zlib/1.2.13#*" -r foo --package-query="os=Linux and arch=x86"
如果指定了 --format=json
格式化工具,结果将是一个 “PackageList”,它与其他 Conan 命令兼容,例如 conan upload
命令,因此可以使用生成的 json 文件连接 download + upload
。 请参阅 Packages Lists examples。
下载元数据¶
recipe 和软件包的元数据文件默认情况下不会下载。可以使用 conan download --metadata=xxx
参数显式检索它们。 主要参数与上面相同,Conan 将下载指定的软件包,或者如果它们已在缓存中则跳过它们
$ conan download pkg/0.1 -r=default --metadata="*"
# will download pgkg/0.1 recipe with all the recipe metadata
# And also all package binaries (latest package revision)
# with all the binaries metadata
如果只需要一个或几个元数据文件夹或文件集,也可以指定
$ conan download pkg/0.1 -r=default --metadata="logs/*" --metadata="tests/*"
# Will download only the logs and tests metadata, but not other potential metadata files
有关更多信息,请参阅 metadata section。