引入Provider库后Flutter项目出现编译错误,寻求解决方法
解决Provider包编译错误的方案
修复拼写错误
找到缓存中的Provider文件:C:/flutter/.pub-cache/hosted/pub.dartlang.org/provider-6.0.4/lib/src/provider.dart,打开后定位到第307行,把错误的ntthrow改为正确的throw。处理空安全返回问题
还是在上述文件的第309行,将return value;修改为return value!;,通过空断言确保返回值符合非空类型要求(这符合Provider获取实例时的预期:如果找不到实例会先抛出前面的异常,不会走到这一步返回空值)。重置依赖缓存(推荐)
如果不想手动修改包文件,直接执行以下命令清除缓存并重新拉取完整的依赖包:flutter clean flutter pub cache clean flutter pub get这会自动替换损坏的Provider文件,解决拼写和空安全的问题。
验证SDK兼容性
执行flutter --version确认当前Flutter对应的Dart SDK版本在>=2.18.2 <3.0.0范围内,若版本不符,需调整SDK版本或升级Provider到适配当前SDK的版本。
内容的提问来源于stack exchange,提问作者Gabriel Pouzargue
相关产品推荐
相关产品推荐

