Flutter run报错:pubspec.yaml第43行存在语法错误
解决Flutter运行时pubspec.yaml映射值错误(exit code 65)
运行flutter run时出现如下错误:
error on line 43, column 15 of pubspec.yaml: Mapping values are not allowed here. Did you miss a colon earlier? ╷ 43 │ flutter_test: │ ^ ╵ exit code 65
问题原因
这是pubspec.yaml的YAML语法格式错误,YAML对缩进、标点(尤其是冒号)的要求非常严格。错误提示指向第43行,但问题通常出现在该行之前的代码中,大概率是某个键值对遗漏了冒号,或者缩进、特殊字符处理不当,导致YAML解析器无法正确识别结构。
排查与修复步骤
- 检查前置代码的冒号:逐行查看第43行之前的内容,确认所有键都添加了冒号。比如
dependencies或dev_dependencies下的依赖项,是否存在类似flutter sdk: flutter的错误写法(正确应为flutter: sdk: flutter)。 - 验证缩进一致性:YAML仅支持空格缩进(禁止用Tab),确保
flutter_test:与同级的其他依赖项缩进一致,比如在dev_dependencies下,所有子项都保持相同的空格数。 - 处理特殊字符:如果有字符串包含冒号、空格等特殊字符,必须用引号包裹,例如
name: "my:flutter_app",避免YAML误判为映射结构。
正确的dev_dependencies示例
dev_dependencies: flutter_test: sdk: flutter flutter_lints: ^2.0.0
修复完成后,先执行flutter pub get验证配置文件是否合法,再重新运行flutter run即可。
内容的提问来源于stack exchange,提问作者Muhammed sahal
相关产品推荐
相关产品推荐

