Flutter集成upgrader包报错:Target of URI doesn't exist
Flutter upgrader包导入报错排查
报错信息
"Target of URI doesn't exist: 'package:upgrader/upgrader.dart'."
已尝试的解决步骤
- 重启IDE
- 更换包版本
- 执行Pub get
当前pubspec.yaml配置
name: description: publish_to: 'none' version: 1.0.0+2 environment: sdk: '>=3.1.0 <4.0.0' dependencies: flutter: sdk: flutter cupertino_icons: ^1.0.2 http: ^1.1.0 url_launcher: ^6.1.12 provider: ^6.0.5 shared_preferences: ^2.2.0 intl: ^0.18.1 nepali_utils: ^3.0.3 flutter_spinkit: ^5.2.0 firebase_core: ^2.21.0 firebase_messaging: ^14.7.3 animated_text_kit: ^4.2.2 rive: ^0.12.3 lottie: ^2.7.0 badges: ^3.1.2 dependency_validator: ^3.2.3 googleapis_auth: ^1.6.0 flutter_local_notifications: ^17.1.2 overlay_support: ^2.1.0 upgrader: dev_dependencies: flutter_test: sdk: flutter flutter_lints: ^2.0.0 flutter_launcher_icons: "^0.13.1" flutter_launcher_icons: android: true ios: true image_path: "assets/app_icon/icon.jpg" min_sdk_android: 21 # android min sdk min:16, default 21 flutter: uses-material-design: true assets: - assets/animations/ fonts: - family: roboto fonts: - asset: fonts/roboto/Roboto-Regular.ttf - asset: fonts/roboto/Roboto-Bold.ttf - asset: fonts/roboto/Roboto-Italic.ttf
补充解决建议
1. 补全upgrader包版本号
你的pubspec.yaml中upgrader:字段后未指定版本号,这会导致pub无法正确拉取依赖包。修改为指定兼容你SDK的版本,例如:
upgrader: ^11.0.0
修改后重新执行flutter pub get。
2. 清理项目缓存
执行以下命令彻底清理缓存后重新拉取依赖:
flutter clean flutter pub get
3. 验证导入语句正确性
确保代码中的导入语句无拼写错误:
import 'package:upgrader/upgrader.dart';
4. 清理IDE缓存(以Android Studio/IntelliJ为例)
通过File -> Invalidate Caches...选择Invalidate and Restart,彻底清理IDE缓存后重启。
内容的提问来源于stack exchange,提问作者Peaky Prodigy
相关产品推荐
相关产品推荐

