如何在Android Studio中修改实际使用的Dart版本以解决intl_translation命令运行报错
解决Dart版本不匹配问题,顺利运行intl_translation命令
别着急,我帮你整理了几个可行的步骤来搞定这个版本不兼容的问题,让你能正常运行intl_translation命令:
1. 先确认项目的SDK约束
打开项目根目录下的pubspec.yaml文件,找到environment区块,确认里面的Dart SDK约束是不是和你项目设置的2.10.5一致,比如应该是这样的:
environment: sdk: ">=2.10.5 <3.0.0"
如果这里的版本范围和你预期的不符,先修改成对应的值,保存好文件。
2. 切换到匹配Dart 2.10.5的Flutter版本
因为Flutter自带了对应的Dart版本,所以我们可以通过切换Flutter版本来同步Dart版本:
- 先查看本地已安装的所有Flutter版本:
flutter versions - 找到对应Dart 2.10.5的Flutter版本(比如Flutter 2.8.x系列的版本对应的Dart就是2.10.5),然后切换到该版本:
要是你还没安装这个版本,可以直接安装:flutter downgrade 2.8.1flutter install 2.8.1
3. 验证版本切换是否成功
运行下面的命令,确认当前使用的Dart版本已经变成2.10.5:
dart --version
如果输出显示Dart 2.10.5,说明切换成功了。
4. 重新获取依赖并执行命令
最后,重新拉取项目依赖,再运行你需要的intl_translation命令:
flutter pub get flutter pub run intl_translation:extract_to_arb --output-dir=lib/i18n lib/i18n/app_localization.dart
另一种可选方案:升级项目SDK约束
如果你不想降级Flutter/Dart版本,也可以尝试升级项目的SDK约束到兼容2.15.1的范围,比如把pubspec.yaml里的环境部分改成:
environment: sdk: ">=2.15.1 <3.0.0"
然后运行flutter pub get更新依赖,这样也能解决版本不兼容的问题——不过要注意,这个方法需要确保你的项目所有依赖都支持Dart 2.15.1哦。
内容的提问来源于stack exchange,提问作者Muhammed Ramadan
相关产品推荐
相关产品推荐

