无法从 conan-center-index 创建 boost conan 包 - "conanfile didn't specify version"
Cant create boost conan package from conan-center-index - "conanfile didn't specify version"
我尝试为 boost
库创建 conan
包。
我从https://github.com/conan-io/conan-center-index/tree/master/recipes/boost
那里得到了食谱
当我执行命令时:
conan create . conan/stable
将出现下一个错误:
ERROR: conanfile didn't specify version
我明白了,食谱中没有 version
成员,但我不明白在那种情况下如何手动指定它。 conan create
页面上的官方文档没有任何提示(
食谱中确实没有列出版本,但为什么呢?因为相同的配方对于任何版本都是re-used,所以柯南中心索引不需要为每个新版本复制相同的配方。
Boost 支持的所有版本都在 conandata.yml 中列出,这是一个包含下载 link 和校验和的文件,根据版本。
因此,要构建所需的版本,您必须使用类似的命令传递它。例如,要构建 Boost 1.73:
cd recipes/boost/all
conan create . 1.73.0@
注意我只传递了版本,没有传递命名空间(username/channel),因为它是柯南中心索引的官方食谱,任何其他食谱都应该包含命名空间以避免任何冲突。在这种情况下,如果需要,您也可以使用命名空间:
cd recipes/boost/all
conan create . 1.73.0@hdnn/stable
食谱中的版本不是强制性的,即使没有 conandata.yml。当缺少任何强制属性(名称或版本)时,您可以通过命令行传递它们。
我尝试为 boost
库创建 conan
包。
我从https://github.com/conan-io/conan-center-index/tree/master/recipes/boost
那里得到了食谱当我执行命令时:
conan create . conan/stable
将出现下一个错误:
ERROR: conanfile didn't specify version
我明白了,食谱中没有 version
成员,但我不明白在那种情况下如何手动指定它。 conan create
页面上的官方文档没有任何提示(
食谱中确实没有列出版本,但为什么呢?因为相同的配方对于任何版本都是re-used,所以柯南中心索引不需要为每个新版本复制相同的配方。
Boost 支持的所有版本都在 conandata.yml 中列出,这是一个包含下载 link 和校验和的文件,根据版本。
因此,要构建所需的版本,您必须使用类似的命令传递它。例如,要构建 Boost 1.73:
cd recipes/boost/all
conan create . 1.73.0@
注意我只传递了版本,没有传递命名空间(username/channel),因为它是柯南中心索引的官方食谱,任何其他食谱都应该包含命名空间以避免任何冲突。在这种情况下,如果需要,您也可以使用命名空间:
cd recipes/boost/all
conan create . 1.73.0@hdnn/stable
食谱中的版本不是强制性的,即使没有 conandata.yml。当缺少任何强制属性(名称或版本)时,您可以通过命令行传递它们。