2016-12-05 119 views
1

我正在使用柯南0.16.0,我无法确定如何在本地商店中安装软件包。 我的想法是创建一个配方,从配方创建我想要的每个软件包,将它们安装在本地存储中,然后将它们上载到Conan服务器上,以便其他开发人员可以使用它们,而不必重新编译软件包,因为它们已经是可用。如何在本地商店安装包?

我真正做到:

  • 创建使用conan export user/channel
  • 配方
  • (我的构建和输出方法conanfile.py)我安装在本地存储我检查,我可以通过做conan build
  • 建立我创建了一个包mkdir mypackagecd mypackageconan package ..
  • 然后,我不知道浩w至当地商店安装该软件包(之后,我想从本地存储上传的配方&包到服务器)

我发现有我的包的唯一办法在当地商店有另一个配方需要先前的配方,然后制作一个conan install --build。我的第一个配方包将会建立,并将出现在我的本地商店,但这种方式迫使我创造“假”的要求,以实现我的目标。

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

回答

2

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

实际上,创建和测试软件包的首选方法是使用test_package功能,请按照the tutorial。一般来说,这些文档是用像时尚这样的非常教程编写的,我建议遵循它们。

如果您检查文档或命令行帮助到conan package它会告诉你这是一个只用于调试的命令,并且将用于罕见的事件中。没有它,你可以完美地工作。

+0

换句话说,为特定的目标创建一个二进制包,我必须通过创建另一个需要我的二进制包的包配方或通过'test_package'使用包来使用包配方。但我不能直接做一个构建和安装。 'test_package'更安全,因为这样我就可以确保我的库已经正确构建。适用于我:) – dkg

+0

是的,你也可以做一个'conan安装Pkg/[email protected]/channel --build -g txt'',它也会创建这个包,并生成一个包含这个包的信息的文本文件,包括目录,库名称。你也可以使用''-g cmake''来生成一个cmake文件来包含在你的项目中。但是这种方法是手动且容易出错的。我认为通过从另一个项目链接来确保程序包正在工作,并使用conanfile或test_package功能更加方便和明确,会更好。 – drodri