运行pub.yaml时出现pubspec.yaml缺失错误,疑与shared_preferences相关
解决pub运行时提示win32-5.1.0包缺失pubspec.yaml的错误
问题场景
每次执行pub相关命令时触发如下错误,推测与shared_preferences依赖有关:
在"/Users/rioland/.pub-cache/hosted/pub.dev/win32-5.1.0"中未找到名为"pubspec.yaml"的文件。 #0 new Pubspec.load (package:pub/src/pubspec.dart:224:7) #1 new Package.load (package:pub/src/package.dart:131:29) #2 Entrypoint._createPackageGraph (package:pub/src/entrypoint.dart:180:36) <asynchronous suspension> #3 Entrypoint.resolveExecutable (package:pub/src/entrypoint.dart:556:8) <asynchronous suspension> #4 getExecutableForCommand (package:pub/src/executable.dart:350:16) <asynchronous suspension> #5 RunCommand.run (package:dartdev/src/commands/run.dart:324:20) <asynchronous suspension> #6 CommandRunner.runCommand (package:args/command_runner.dart:212:13) <asynchronous suspension> #7 DartdevRunner.runCommand (package:dartdev/dartdev.dart:240:18) <asynchronous suspension> #8 runDartdev (package:dartdev/dartdev.dart:59:16) <asynchronous suspension> #9 main (file:///Volumes/Work/s/w/ir/x/w/sdk/pkg/dartdev/bin/dartdev.dart:11:3) <asynchronous suspension>
解决方案
- 清理pub缓存:执行
dart pub cache clean,彻底清除本地缓存的损坏或不完整依赖包。 - 重新拉取依赖:在项目根目录执行
flutter pub get(Flutter项目)或dart pub get,让系统重新下载所有依赖,确保win32包的完整文件被正确获取。 - 排查shared_preferences依赖:检查项目
pubspec.yaml中shared_preferences的版本,尝试指定一个稳定版本(如shared_preferences: ^2.2.2),避免依赖自动引入存在问题的win32版本。 - 手动修复特定包:如果缓存清理无效,直接删除
/Users/rioland/.pub-cache/hosted/pub.dev/win32-5.1.0目录,再重新执行pub get命令重新下载该包。
内容的提问来源于stack exchange,提问作者Adedamola Rioland
相关产品推荐
相关产品推荐

