IntelliJ创建Flutter项目报平台未选择错误的问题咨询
IntelliJ创建Flutter项目报“At least one platform must be selected”问题解决
对应问题场景
- 按照官方操作指引完成Flutter SDK、IDE插件配置后,在项目创建流程配置完基础信息、点击
Finish时弹出报错:At least one platform must be selected - 指定的项目存储路径下仅生成空的目标目录,无任何实际项目文件
- 已验证Flutter SDK路径配置正确:随意修改SDK路径时会触发
Flutter SDK is not found in the specified location的告警,可排除路径配置错误 - 当前运行环境信息:
- 操作系统:Ubuntu 20.04.1 LTS 64位
- 开发工具:IntelliJ IDEA 2020.1.4
- Flutter版本:1.22.6 stable,配套Dart 2.10.5
- 已经尝试过的无效操作:切换Android/iOS开发语言为Kotlin/C、修改组织标识为自定义内容、切换项目类型为Package、开启离线创建选项
- 附带异常:IntelliJ关闭窗口后会残留后台进程,需手动杀掉残留进程才能正常重启IDE,暂未确认是否和当前创建报错有关
报错触发原因
这个问题的核心是版本适配错位:
当前安装的Flutter IDE插件版本过新,和本地部署的Flutter 1.22.6、IntelliJ 2020.1版本不兼容。Flutter 1.22.x版本配套的早期IDE插件,在项目创建流程中根本没有平台选择的交互模块;后续发布的新插件才在创建向导里新增了Android、iOS、Web、桌面端的平台勾选逻辑。当过新的插件和旧版Flutter SDK做创建前校验时,会默认判定“用户未选中任何支持的目标平台”,触发这个报错——哪怕你在当前的创建界面上,根本找不到平台勾选的相关选项。
可落地的解决操作
- 回退匹配对应版本的IDE插件
- 打开IntelliJ的插件管理页面,找到已安装的Flutter、Dart插件
- 不要使用插件市场的最新版本,回退到2021年2月之前发布的Flutter插件(对应版本号为53.x.x,和Flutter 1.22.6版本适配)
- 回退完成后重启IDE,重新走项目创建流程
- 跳过IDE创建向导,用命令行生成项目后导入
如果插件回退操作流程繁琐,可以直接用Flutter CLI生成项目,再通过IDE导入,规避向导的兼容bug:- 打开终端,进入Flutter SDK的安装目录,将SDK的bin路径加入当前会话的环境变量:
export PATH="$PATH:/home/nikko/snap/flutter/common/flutter/bin" - 进入计划存储项目的父目录,执行命令生成对应参数的项目:
flutter create --org com.example --project-name tryseven --project-type app --android-language java --ios-language swift ./tryseven - 项目生成完成后,在IntelliJ中选择
Open,选中生成的tryseven目录导入即可,IDE会自动识别Flutter项目结构
- 打开终端,进入Flutter SDK的安装目录,将SDK的bin路径加入当前会话的环境变量:
- 清理IDE异常缓存和残留进程
- 手动执行
ps aux | grep idea找到所有残留的IntelliJ后台进程,用kill -9 <对应进程ID>全部清理 - 删除IntelliJ的本地缓存目录:
rm -rf ~/.cache/JetBrains/IntelliJIdea2020.1/,重启IDE后再尝试项目创建流程
- 手动执行
注意事项:后续如果升级本地Flutter SDK到2.0及以上版本,需要同步将IDE的Flutter插件升级到对应匹配版本,否则依然会出现向导交互逻辑不匹配的问题。
内容的提问来源于stack exchange,提问作者Nikko
相关产品推荐
相关产品推荐

