重装Flutter SDK后CMake执行ninja报错:No such file or directory
解决CMake找不到snap路径下ninja的问题
核心原因
从snap版Flutter切换到手动安装后,CMake仍残留了snap相关的路径配置,导致尝试调用不存在的/snap/flutter/current/usr/bin/ninja。
解决步骤
清理项目和Flutter缓存
先彻底清理项目构建文件和Flutter缓存:rm -rf build/ flutter clean检查并修正环境变量
打开终端,检查PATH里是否还存在snap的Flutter路径,确保手动安装的Flutter/bin路径排在最前面:echo $PATH如果有
snap/flutter相关路径,编辑~/.bashrc或者~/.zshrc,删除对应的行,然后刷新环境变量:source ~/.bashrc确保系统已安装Ninja
如果系统里没有Ninja,先安装:sudo apt install ninja-build强制CMake使用系统Ninja
可以在CMakeLists.txt开头添加以下代码,让CMake自动查找系统中的Ninja:find_program(NINJA_EXECUTABLE ninja REQUIRED) set(CMAKE_MAKE_PROGRAM ${NINJA_EXECUTABLE})或者在Android Studio的CMake配置中,手动指定
CMAKE_MAKE_PROGRAM为/usr/bin/ninja(路径根据实际安装位置调整)。验证Android Studio配置
打开Android Studio,进入File > Settings > Languages & Frameworks > Flutter,确认SDK路径是手动安装的Flutter目录,不是snap的/snap/flutter/current。重启Android Studio后重新构建项目。
内容的提问来源于stack exchange,提问作者I_am_a_squirrel
相关产品推荐
相关产品推荐

