【问题标题】:How to install a package in the local store?如何在本地商店中安装软件包?
【发布时间】:2016-12-05 14:21:23
【问题描述】:

我正在使用柯南 0.16.0,但我不知道如何在本地商店中安装软件包。 我的想法是创建一个配方,从配方中创建我想要的每个包,将它们安装在本地商店中,然后将它们上传到柯南服务器上,使它们可供其他开发人员使用,而无需重新编译包,因为它们已经可用.

我实际上做了什么:

  • 使用我的构建和导出方法创建配方(conanfile.py)
  • 我使用conan export user/channel将它安装在本地商店中
  • 我检查我是否可以通过执行conan build 来构建
  • 我用mkdir mypackagecd mypackageconan package .. 创建了一个包
  • 然后,我不知道如何在本地商店中安装此软件包(之后,我想将配方和软件包从本地商店上传到服务器)

我发现将我的包裹放在本地商店的唯一方法是拥有另一个需要上一个食谱的食谱,然后制作conan install --build。我的第一个食谱包将被构建并出现在我当地的商店中,但这种方式迫使我创建“虚假”​​需求来实现我的目标。

有什么方法可以为我想要的设置构建我的包,然后直接将它们安装在本地商店中?

【问题讨论】:

    标签: c++ conan


    【解决方案1】:

    conan docs 你必须到conan install 来创建一个包。 conan build 命令仅用于构建本地项目,不用于构建已导出的包。

    实际上,创建和测试包的首选方法是使用test_package 功能,请关注the tutorial。一般来说,这些文档是按照非常类似于教程的方式编写的,我建议您遵循它们。

    如果您查看conan package 的文档或命令行帮助,它会告诉您该命令仅用于调试,并且在极少数情况下使用。没有它你也可以完美地工作。

    【讨论】:

    • 因此,换句话说,要为特定目标创建二进制包,我必须通过创建另一个需要我的二进制包的包配方或通过 @987654327 使用包来使用包配方@。但我不能直接进行构建和安装。 test_package 更安全,因为这样我可以确保正确构建我的库。为我工作:)
    • 是的,你也可以做一个conan install Pkg/0.1@user/channel --build -g txt,它也会创建包,并生成一个包含包信息的文本文件,如包含目录、库名。您还可以使用 -g cmake 生成一个 cmake 文件以包含在您的项目中。但是这种方法是手动的并且容易出错。我认为通过从另一个项目链接来真正确保包正常工作要好得多,并且使用 conanfile 或 test_package 功能更加方便和明确。
    猜你喜欢
    • 2017-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-09
    • 1970-01-01
    • 2012-07-22
    • 2016-07-09
    相关资源
    最近更新 更多