
* format: fix markdown * update: fix markdown * update: fix cron problems * update: delete .markdownlintignore * update * chore: add tab -> 4 space * chore: fix tab -> 2 in the .editorconfig
228 lines
4.1 KiB
Markdown
228 lines
4.1 KiB
Markdown
Conan 备忘清单
|
||
===
|
||
|
||
这个 [Conan](https://conan.io/) 快速参考备忘清单显示了它的常用命令使用清单
|
||
|
||
入门
|
||
---
|
||
|
||
### 介绍
|
||
|
||
Conan 是开源、去中心化和多平台的软件包,管理器来创建和共享您的所有本机二进制文件
|
||
|
||
- [Conan 官网](https://conan.io/)
|
||
|
||
#### 安装
|
||
|
||
```bash
|
||
$ pip install conan
|
||
$ pip install conan --upgrade
|
||
```
|
||
|
||
初始化配置文件
|
||
|
||
```bash
|
||
$ conan config init
|
||
```
|
||
|
||
### 显示本地客户端配置
|
||
|
||
Conan 应用配置
|
||
|
||
```bash
|
||
# 查看 Conan 主目录
|
||
$ conan config home
|
||
# 显示部分或全部配置项
|
||
$ conan config get [<section>.<config>]
|
||
# 显示完整的 conan.conf 文件
|
||
$ conan config get
|
||
# 在“日志”部分显示“级别”项
|
||
$ conan config get log.level
|
||
```
|
||
|
||
配置文件的内容(例如默认值)
|
||
|
||
```bash
|
||
$ conan profile show default
|
||
```
|
||
|
||
远程存储库
|
||
|
||
```bash
|
||
$ conan remote list
|
||
```
|
||
|
||
### 添加和修改配置
|
||
|
||
安装配置集合
|
||
|
||
```bash
|
||
$ conan config install <url>
|
||
$ conan config install ./my_config.conf
|
||
```
|
||
|
||
更改单个配置值
|
||
|
||
```bash
|
||
$ conan config set general.revisions_enabled=1
|
||
```
|
||
<!--rehype:className=wrap-text -->
|
||
|
||
添加遥控器
|
||
|
||
```bash
|
||
$ conan remote add my_remote <url>
|
||
```
|
||
|
||
提供远程凭据
|
||
|
||
```bash
|
||
$ conan user -p <password> -r my_remote <username>
|
||
```
|
||
<!--rehype:className=wrap-text -->
|
||
|
||
### 显示来自 inspect 或 reference 的信息
|
||
|
||
显示 `conanfile.py` 的属性
|
||
|
||
```bash
|
||
$ conan inspect <path> -a <attribute>
|
||
```
|
||
|
||
显示 `conanfile.py` 的内容以供参考
|
||
|
||
```bash
|
||
$ conan get <reference>
|
||
```
|
||
|
||
显示 `recipe` 的依赖关系图信息
|
||
|
||
```bash
|
||
$ conan info <path_or_reference>
|
||
```
|
||
|
||
### 搜索包
|
||
<!--rehype:wrap-class=col-span-2-->
|
||
|
||
在远程搜索包
|
||
|
||
```bash
|
||
# 列出本地缓存中的包名称
|
||
$ conan search
|
||
$ conan search <package>/<revision>@<user>/<channel> # 输出取决于给出了多少包引用。
|
||
# 支持通配符
|
||
[--table=file.html] # 将输出保存在 HTML 文件中
|
||
[-r=<remote>] # 查看远程存储库(默认为本地缓存)
|
||
|
||
$ conan search mylib/1.0@user/channel # 显示本地缓存中 mylib/1.0@user/channel 的所有包
|
||
$ conan search "zlib/*" -r=all # 在所有远程中显示所有版本的 zlib
|
||
|
||
$ conan search zlib -r conan-center
|
||
|
||
# 显示包的修订:
|
||
$ conan search <package>/<revision>@<user>/<channel> --revisions
|
||
```
|
||
|
||
### 安装包
|
||
<!--rehype:wrap-class=row-span-2-->
|
||
|
||
仅使用参考安装包
|
||
|
||
```bash
|
||
$ conan install <package_reference>
|
||
```
|
||
|
||
从 conanfile 安装软件包列表
|
||
|
||
```bash
|
||
$ cat conanfile.txt
|
||
[requires]
|
||
zlib/1.2.11
|
||
$ conan install <path_to_conanfile>
|
||
```
|
||
|
||
通过生成器在构建系统中使用包
|
||
|
||
```bash
|
||
$ cat conanfile.txt
|
||
[requires]
|
||
zlib/1.2.11
|
||
[generators]
|
||
cmake_find_package
|
||
msbuild
|
||
make
|
||
```
|
||
|
||
安装需求并生成文件
|
||
|
||
```bash
|
||
$ mkdir build && cd build
|
||
$ conan install ..
|
||
```
|
||
|
||
运行您的构建系统(以下之一)
|
||
|
||
```bash
|
||
$ cmake .. && cmake --build .
|
||
$ msbuild myproject.sln
|
||
$ make
|
||
```
|
||
|
||
### 创建一个包
|
||
|
||
从模板创建配方 (conanfile.py)
|
||
|
||
```bash
|
||
$ conan new <reference> -m <template>
|
||
```
|
||
|
||
只需将配方导出到本地缓存
|
||
|
||
```bash
|
||
$ conan export <path_to_conanfile>
|
||
```
|
||
|
||
从 recipe 为一种配置创建包
|
||
也隐含地安装和导出步骤
|
||
|
||
```bash
|
||
$ conan create . -pr <profile>
|
||
```
|
||
|
||
### 检查包裹
|
||
|
||
完整打印包装配方:
|
||
|
||
```bash
|
||
$ conan get <package>/<revision>@<user>/<channel>
|
||
$ conan get boost/1.74.0
|
||
```
|
||
<!--rehype:className=wrap-text -->
|
||
|
||
包装配方的打印属性:
|
||
|
||
```bash
|
||
$ conan inspect <package>/<revision>@<user>/<channel>
|
||
$ conan inspect boost/1.74.0
|
||
```
|
||
<!--rehype:className=wrap-text -->
|
||
|
||
请参阅 [conan get](https://docs.conan.io/en/latest/reference/commands/consumer/get.html) 和 [conan inspect](https://docs.conan.io/en/latest/reference/commands/misc/inspect.html) 参考
|
||
|
||
### Lockfiles
|
||
|
||
创建一个锁文件:
|
||
|
||
```bash
|
||
$ conan lock create <package>/conanfile.py --user=<user> --channel=<channel>
|
||
```
|
||
<!--rehype:className=wrap-text -->
|
||
|
||
在 `conan create` 或 `conan install` 期间使用 lockfile:
|
||
|
||
```bash
|
||
$ conan <command> --lockfile conan.lock
|
||
```
|
||
|
||
查看 [conan lock](https://docs.conan.io/en/latest/reference/commands/misc/lock.html) 参考
|