安装没有要求的 conan 包?

问题描述

是否有可能在没有要求的情况下安装 conan 软件包? 我构建了一个元包,它只包含一些配置,并依赖于requires部分中的其他二进制包。

现在我只想访问配置而不下载所有依赖项,是否有可能这样做?

conan download 下载一个包,但不会安装它,例如没有信息,它是在哪里下载的,conan install 为此提供了 --json 选项。它也不能使用 -s 进行配置。

解决方法

是否有可能在没有要求的情况下安装 conan 包?

是的,柯南 download 命令。它会忽略设置。

conan download 下载一个包,但不会安装它,例如没有信息,在哪里下载

不是真的,它安装在 conan 数据文件夹中。要获取任何包路径,您可以运行 conan info --paths(参见 info),但 info 命令将下载包依赖项。

您有几个选择:

  • 运行conan download并复制您需要的内容:
conan download spdlog/1.8.5@:ff8d59d47be9cd9bef245bc941640efed49089de -r conan-center
cp ${HOME}/.conan/data/spdlog/1.8.5/_/_/package/ff8d59d47be9cd9bef245bc941640efed49089de/licenses/LICENSE new_folder/LICENSE

SpdLog 需要 fmt 包,但我们也不想下载。因此,我们不能运行 conan install --paths

  • 运行 conan install -g deploy 并复制您需要的内容。
conan install spdlog/1.8.5@ -r conan-center -g deploy
cp spdlog/licenses/LICENSE new_folder/LICENSE

部署生成器将下载所有依赖项,但它们也会被复制到当前文件夹。

此外,前段时间请求部分下载:https://github.com/conan-io/conan/issues/6508,但被拒绝。