Flutter pubspec.yaml报错:字体资产预期为字符串类型该如何解决?
报错原因
- YAML语法解析时,你的
asset字段对应的值被识别为列表(YamlList)类型,而Flutter要求字体资产路径必须为纯字符串类型,触发类型校验报错。
常见的错误触发场景有3种:- 给路径额外加了方括号,例如写成
asset: [fonts/IndieFlower-Regular.ttf] - 路径前多写了
-列表标记,把路径变成了嵌套列表项 - 路径前后存在不可见特殊字符,导致解析器识别异常
- 给路径额外加了方括号,例如写成
修复方案
- 调整
asset字段后的多余空格,统一保持冒号后1个空格,避免边缘解析问题,修正后的标准配置如下:
flutter: fonts: - family: IndieFlower fonts: - asset: fonts/IndieFlower-Regular.ttf
- 检查配置是否存在上述提到的加方括号、多写
-的错误,删除多余符号,仅保留字符串格式的路径即可 - 修改完成后执行
flutter clean清除旧构建缓存,再重新运行项目即可生效
内容的提问来源于stack exchange,提问作者rookie
相关产品推荐
相关产品推荐

