VS Code中Flutter项目导入http_auth包出现URI不存在错误求助
问题原因
- pubspec.yaml缩进格式错误:YAML语法对缩进精度要求极高,你当前的配置中
paypal、http_auth、shared_prefernces等第三方依赖全部错误缩进在了flutter属性下,不会被Dart包管理工具识别为项目依赖,也就不会下载对应的包源码,最终导致导入路径不存在。同时http、cupertino_icons的缩进也不符合规范,没有和flutter字段保持同级。 - 依赖名拼写错误:
shared_preferences被错误拼写为shared_prefernces,少了一个字母e,即使缩进修正也无法正常拉取对应包。
解决方案
- 首先修正pubspec.yaml的依赖配置,调整缩进和拼写,修正后的参考配置如下:
dependencies: flutter: sdk: flutter paypal: ^0.0.4 paypal_sdk_flutter: ^0.0.2 http_auth: ^1.0.0 shared_preferences: ^2.0.15 # 修正拼写,适配你当前的2.x SDK版本 http: ^0.13.3 cupertino_icons: ^1.0.2
注意所有第三方顶级依赖都要和flutter字段保持2空格的缩进对齐,不能缩进到flutter的子层级内。
保存pubspec.yaml文件后,在项目根目录的终端执行命令:
flutter pub get
如果执行时报版本冲突,可以添加--no-sound-null-safety参数执行,或者对应调整依赖版本适配你的SDK区间。命令执行完成后等待IDE索引更新,报错会自动消失。如果仍有报错,可以先执行
flutter clean清理缓存后重新执行flutter pub get,再重启VS Code的Dart分析服务:按Ctrl+Shift+P(Mac端为Cmd+Shift+P),输入Restart Dart Analysis Server执行即可。
内容的提问来源于stack exchange,提问作者Sapir Turgeman
相关产品推荐
相关产品推荐

