本文档翻译自:https://docs.conan.io/en/latest/creating_packages/getting_started.html#creating-and-testing-packages
您只需运行以下命令,即可使用我们的默认设置创建和测试包:
$ conan create . demo/testing
...
Hello world Release!
如果显示 “Hello world Release!”,它就起作用了。
conan create
命令执行以下操作:
- 将conanfile.py从用户文件夹复制到本地缓存 (用Conan术语 “export”)。
- 安装包,强制从源代码构建它。
- 移动到 test_package 文件夹并创建一个临时 构建 文件夹。
- 执行
conan install ..
,以安装test_package/conanfile.py的要求。请注意,它将从源代码构建 “hello”。 - 构建并启动示例消费应用程序,分别调用 test_package/conanfile.py
build()
和test()
方法。
使用Conan命令,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
conan create
命令接收与conan install
相同的命令行参数,因此您可以将相同的设置、选项和命令行开关传递给它。如果要为不同的配置创建和测试包,可以:
$ conan create . demo/testing -s build_type=Debug
$ conan create . demo/testing -o hello:shared=True -s arch=x86
$ conan create . demo/testing -pr my_gcc49_debug_profile
...
$ conan create ...
省略 user/channel
:::success
Waring
这是一个实验特性,在未来的版本中会有突破性的变化。
:::
您可以创建一个省略 user/channel 的包:
$ conan create .
Examples
在你的配方中指定要求:
class HelloTestConan(ConanFile):
settings = "os", "compiler", "build_type", "arch"
requires = "packagename/1.0"
...
安装单个包。使用
conan install
我们必须使用packagename/1.0@
的语法 (始终有效) 来消除参数的歧义,该参数也可用于指定路径:$ conan install packagename/1.0@
搜索引用的二进制包。
conan search
命令需要使用packagename/1.0@
的语法 (始终有效) 来消除用法歧义: ```shell $ conan search packagename/1.0@
Existing packages for recipe packagename/1.0:
Package_ID: 9bfdcfa2bb925892ecf42e2a018a3f3529826676 [settings] arch: x86_64 build_type: Release compiler: gcc compiler.libcxx: libstdc++11 compiler.version: 7 os: Linux Outdated from recipe: False
- 移除包:
```shell
$ conan remove packagename/1.0@
- 上传包:
$ conan upload packagename/1.0@