【问题标题】:Install conan package without requirements?安装柯南包没有要求?
【发布时间】:2021-08-01 22:34:53
【问题描述】:

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

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

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

【问题讨论】:

    标签: python c++ package dependencies conan


    【解决方案1】:

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

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

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

    不是真的,它是在柯南数据文件夹中安装的。获取任意包路径,可以运行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,但被拒绝。

    【讨论】:

    • 感谢您的回答。 download 之后的复制不是那么容易,因为我必须在 Windows 上使用 CONAN_USE_ALWAYS_SHORT_PATHS 以避免 260 路径限制。将来可能会有多个具有该 ID 的包,例如我需要按操作系统、编译器等过滤它们。
    • 我测试了downloadinfo --paths 的组合。我认为,这暂时有效。
    • info --paths 也安装所有要求。这也是一个不错的选择。
    • 它没有在我的电脑上下载要求。我在 W10 w/conan 1.31.4.
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-15
    • 1970-01-01
    • 1970-01-01
    • 2023-02-01
    相关资源
    最近更新 更多