执行pub upgrade后出现RC2Parameters重复导入编译错误求助
解决pub upgrade后RC2Parameters重复导入的编译错误
问题描述
执行pub upgrade后编译Flutter Web项目时出现命名冲突错误,即使注释了项目中自行引入的crypto相关代码,错误仍未消失。具体错误信息如下:
Launching lib\main.dart on Chrome in debug mode... Waiting for connection from debug service on Chrome... /C:/Users/user/AppData/Local/Pub/Cache/hosted/pub.dev/basic_utils-5.5.1/lib/src/library/crypto/rc2_engine.dart:4:1: Error: 'RC2Parameters' is imported from both 'package:basic_utils/src/library/crypto/rc2_parameters.dart' and 'package:pointycastle/api.dart'. import 'package:pointycastle/export.dart'; ^^^^^^^^^^^^^ Failed to compile the application.
flutter doctor检测无环境问题。
解决方案
1. 清理Pub缓存并重新获取依赖
错误来自本地Pub缓存中的旧版本basic_utils包,先清理缓存:
flutter pub cache clean
再重新拉取所有依赖:
flutter pub get
2. 升级或锁定basic_utils版本
该问题是basic_utils 5.5.1与pointycastle的兼容性bug,后续版本已修复。在pubspec.yaml中指定一个修复后的版本:
dependencies: # 若直接依赖basic_utils,指定更高版本 basic_utils: ^5.6.0
执行升级:
flutter pub upgrade
3. 处理间接依赖的情况
若项目未直接依赖basic_utils,它是其他包的间接依赖,可通过以下步骤处理:
- 查看依赖树,找到引入
basic_utils的上游包:flutter pub deps - 尝试升级上游包到最新版本;若上游包未更新,可通过
dependency_overrides强制指定basic_utils版本:dependency_overrides: basic_utils: ^5.6.0
之后执行flutter pub get生效。
补充说明
注释项目自身的crypto包无效,因为错误根源是第三方依赖basic_utils内部的导入冲突,和项目自身代码无关。
内容的提问来源于stack exchange,提问作者Sittiphan Sittisak
相关产品推荐
相关产品推荐

