【发布时间】:2021-03-11 12:32:48
【问题描述】:
我正在尝试了解柯南的工作原理,并学习柯南的文档。
所以到目前为止我得到的是,从客户端,客户端编写了一个conanfile.txt 文件,其中包含一个[requirements] 部分,其中指定了项目的所有要求。
当客户端运行conan install - 柯南从~/.conan/profiles/default 读取客户端的设置(或者也可以通过柯南 CLI 指定另一个配置文件)并从远程下载相关的二进制包(假设它是'不存在于本地缓存中)对应于配置文件(如操作系统、体系结构等)。
我的困惑始于制作人方面。这是我目前得到的:为了创建一个包,您需要编写一个conanfile.py,它被称为recipe。这个秘籍描述了二进制包的构建。
docs 表示conan create 相当于:
$ conan export . demo/testing
$ conan install hello/0.1@demo/testing --build=hello
# package is created now, use test to test it
$ conan test test_package hello/0.1@demo/testing
有些地方我不明白:
- 为什么客户端下载配方?配方不是只需要创建包吗?
- 为什么客户的配置文件包含
compiler位?我可以理解os和arch例如,因为X86-Windows 客户端机器无法处理Linux 包或ARM 包,但为什么编译器是客户端指定配置的一部分?李> - 配方包含一行
settings = "os", "compiler", "build_type", "arch"文档说:
设置字段定义不同二进制包的配置。在此示例中,我们定义对操作系统、编译器、体系结构或构建类型的任何更改都将生成不同的二进制包。请注意,柯南为同一个配方的不同引入配置(在本例中为设置)生成不同的二进制包。
在哪里具体指定了在包创建过程中构建哪些配置?
-
conan install既用于包创建,也用于包消费?
【问题讨论】:
标签: conan