我很确定这是YAML语法错误,但找不到。
我最近在项目(Manrope)中添加了新字体,现在我的Flutter packages get
引发错误。在添加字体之前,它工作正常。
这是pubspec.yaml
的相关部分:
flutter:
uses-material-design: true
assets:
- assets/
fonts:
- family: Hanken Grotesk
fonts:
- asset: fonts/HankenGrotesk-Regular.otf
- asset: fonts/HankenGrotesk-Bold.otf
weight: 700
- asset: fonts/HankenGrotesk-SemiBold.otf
weight: 600
- asset: fonts/HankenGrotesk-Medium.otf
weight: 500
- asset: fonts/HankenGrotesk-Light.otf
weight: 300
- asset: fonts/HankenGrotesk-ExtraLight.otf
weight: 200
- family: Manrope
fonts:
- asset: fonts/manrope-regular.otf
- asset: fonts/manrope-bold.otf
weight: 700
- asset: fonts/manrope-semibold.otf
weight: 600
- asset: fonts/manrope-medium.otf
weight: 500
这是我收到的错误消息:
Error on line 65, column 12 of pubspec.yaml: Mapping values are not allowed here. Did you miss a colon earlier?
fonts:
^
pub get failed (65)
答案 0 :(得分:0)
由于介绍的是相关部分,因此很难精确定位第65行,因为示例的时间不长。
我非常确定该错误不在所提出的部分中。由于该错误是由第12列中的值指示符(:
引起的,并且在您的样本中,fonts
之后的指示符位于位置10。
因此,请搜索一行fonts
缩进六个位置而不是您所包含的示例中的四个位置的行,这可能是由于缩进过度导致的错误。
(通常,如果您无法减少问题的源代码,最好包含有问题的文件的全文)
答案 1 :(得分:0)
一个巧妙的技巧是JSON是YAML的子集,因此,如果您在弄清YAML缩进或语法时遇到困难,只需将其替换为JSON,即可进行n匹配混合。
答案 2 :(得分:0)
是的,你是对的。这是Yaml语法的问题。在Yaml中,代码是以类似于JSON的对象形式编写的,因此我们必须注意代码的缩进,每个对象要向其孩子返回2个空格。