ESP32 组件 YML 文件几种写法区别

前言

  1. 个人邮箱:zhangyixu02@gmail.com
  2. ESP32 存在一个非常好的功能,就是组件库。我们只需要在 idf_component.yml 文件中加入相关组件名称即可立即使用。
  3. 而该组件写法多样,很容易让人弄的晕头转向,因此我这里做一个简单介绍。
  4. The ESP Component Registry

正文

固定版本

  1. 如果写法如下,表示当前组件固定为 1.3.0 版本。

  2. 我个人建议使用该写法,因为如果组件在更新过程中引入的新的 bug 或者是部分函数名进行了调整,那么会导致工程在编写的当时可以正常运行,但过了一段时间后,你再次编译,会发现代码出现了莫名其妙的 bug,很可能并不是你代码有问题,而是最行的组件造成的版本不兼容。

    espressif/esp_rainmaker: "1.3.0"

固定子版本

  1. 这种写法是会匹配到 1.3.x 版本的任何更新,但不包括 1.4.0 及更高的版本。例如,它可以匹配 1.3.1、1.3.2,但不会匹配 1.4.0。

  2. 如下两种写法效果是一样的,根据个人喜好来。

    espressif/esp_rainmaker: "~1.3.0"
    espressif/esp_rainmaker: "1.3.*"

固定最小子版本

  1. 这种写法是会匹配 1.x.x 中任何高于 1.3.0 的版本,但不会匹配 2.0.0 或更高的版本。比如,它可以安装 1.3.1、1.4.0 等等。

    espressif/esp_rainmaker: "^1.3.0"

固定主版本

  1. 这种写法是会匹配所有 1.x.x 版本,不包括 2.0.0 及其之后版本。

  2. 它允许任何小版本或补丁版本的更新。

    espressif/esp_rainmaker: "1.x'"

拉取最新版本

  1. 如下写法为拉取最新的版本。他将拥有最新的内容和补丁,但同时可能引入未知的不稳定因素。

  2. 如下两种写法效果一样。

    espressif/esp_rainmaker: "*'"
    espressif/esp_rainmaker: "latest"

设置版本范围

  1. 匹配大于 1.3.0 的任何版本。

    espressif/esp_rainmaker: ">1.3.0"

  2. 匹配 1.3.0 及以上的任何版本。

    espressif/esp_rainmaker: ">=1.3.0"

  3. 匹配小于 1.3.0 的任何版本。

    espressif/esp_rainmaker: "<1.3.0"

  4. 匹配 1.3.0 及以下的任何版本。

    espressif/esp_rainmaker: "<=1.3.0"

  5. 匹配从 1.3.0 到 3.0.0 之间的任何版本,包括边界。如下两种写法效果一样。

    espressif/esp_rainmaker: "1.3.0 - 3.0.0"
    espressif/esp_rainmaker: ">=1.3.0 <3.0.0"

相关推荐
心平愈三千疾1 小时前
通俗理解JVM细节-面试篇
java·jvm·数据库·面试
我科绝伦(Huanhuan Zhou)9 天前
Oracle|Oracle SQL*Plus 配置上下翻页功能
数据库·sql·oracle
Cachel wood9 天前
Spark教程6:Spark 底层执行原理详解
大数据·数据库·分布式·计算机网络·spark
java—大象9 天前
基于java SSM的房屋租赁系统设计和实现
java·开发语言·数据库·spring boot·layui·mybatis
Mutig_s9 天前
Spring Boot动态数据源切换:优雅实现多数据源管理
java·数据库·spring boot·后端·mybatis
Python小老六9 天前
单片机测ntc热敏电阻的几种方法(软件)
数据库·单片机·嵌入式硬件
矿渣渣9 天前
SQLite3 在嵌入式系统中的应用指南
数据库·sqlite·嵌入式实时数据库
@昵称不存在9 天前
Python csv 模块
开发语言·数据库·python
程序猿小D9 天前
[附源码+数据库+毕业论文]基于Spring+MyBatis+MySQL+Maven+Vue实现的校园二手交易平台管理系统,推荐!
java·数据库·mysql·spring·vue·毕业设计·校园二手交易平台
DoWeixin69 天前
【请关注】hBase要用的顺畅的思路
数据库