Flutter pubspec.yaml配置字体时Schema validation类型不兼容错误求助
问题原因
- 核心为
fonts配置节点的层级缩进不符合pubspec.yaml规范要求:fonts必须是flutter根节点的子属性,当前配置大概率将fonts节点与flutter节点放在平级位置,或是fonts的缩进层级错误,导致pub工具解析时将fonts数组赋值给了期望接收对象/字符串/空值的字段,触发类型校验报错。
解决方法
- 调整缩进层级,将fonts配置整体归入
flutter节点下,完整正确的配置结构参考如下:
name: your_project_name description: A new Flutter project. # 其余根节点配置:version、environment、dependencies、dev_dependencies等保持不变 # flutter为根级节点,前面无缩进 flutter: uses-material-design: true # 字体配置为flutter的子属性,统一使用2个空格缩进,禁止混用Tab和空格 fonts: - family: Schyler fonts: - asset: fonts/Schyler-Regular.ttf - asset: fonts/Schyler-Italic.ttf style: italic - family: Trajan Pro fonts: - asset: fonts/TrajanPro.ttf - asset: fonts/TrajanPro_Bold.ttf weight: 700
- 配置修改完成后执行
flutter pub get重新加载资源,再运行项目即可解决报错。
内容的提问来源于stack exchange,提问作者nlmm
相关产品推荐
相关产品推荐

