【问题标题】:How do I publish a Conan package locally?如何在本地发布柯南包?
【发布时间】:2020-02-09 04:53:55
【问题描述】:

我是柯南的新手,但在 cmake/make/studio 等方面经验丰富。

我正在尝试构建一个简单的程序,该程序使用一个库 (uWebSockets),该库使用另一个库 (uSockets),该库使用另一个库 (libuv)。库对这个问题并不重要,只是存在一系列依赖关系。

我在柯南中心找到了 libuv,一切正常。

uSockets 库只是 makefile,但我添加了 cmake,我认为添加了对柯南的支持。一个示例编译并运行,所以我认为它没问题。

但是...我如何在本地使用我新的 uSockets 库?

我不想在任何地方发布它,只需在 uWebSockets 的构建中使用它,然后为我的可执行文件使用 that 构建。

我想我正在寻找“柯南在本地发布”之类的东西。

任何帮助将不胜感激!

【问题讨论】:

  • Github 问题github.com/conan-io/conan/issues 也是获得回复的好方法,也可以在那里发布一般性问题,不仅针对错误报告或功能请求。

标签: cmake conan


【解决方案1】:

来自源的package creation process 是本地的。当您执行conan create 时,它会从您的本地文件夹中获取配方和来源,将它们放入柯南缓存中,根据要求构建包(每个conan create 将构建不同的配置,您可以使用输入设置-s compiler.version=xxx或使用推荐的完整配置文件来指定配置)。

当包在本地缓存中时,它们可以从任何其他项目中重用。执行conan install 将首先在柯南缓存中查找,并且仅当在那里找不到包时,才会尝试在配置的remotes 中查找。如果一切都在本地找到,它可能根本不需要互联网连接。

另外,取决于您关心的问题,您不需要将包发布到公共服务器,例如ConanCenter。您可以使用Artifactory CE(免费)将您的软件包放在那里,您可以在局域网中运行它,无需外部互联网连接,您仍然可以从那里重复使用您的二进制文件,而无需从源代码重建。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-03
    • 2021-12-13
    • 1970-01-01
    • 2021-12-15
    相关资源
    最近更新 更多