Fedora 36下编译Flutter程序报错,重装无效求助
解决方案:Fedora 36 Flutter编译错误修复
问题根源
Snap版本的Flutter自带的旧版LLVM/Clang(10.0.0)与Fedora 36系统的glib库存在兼容性冲突,导致编译时出现UTF-8解析错误、宏定义错误及Clang段错误。
1. 替换为官方手动安装的Flutter(推荐)
Snap版本的依赖隔离机制易引发系统库适配问题,改用官方版本可彻底规避:
- 卸载Snap版Flutter:
sudo snap remove flutter - 下载Flutter官方稳定版压缩包(直接从Flutter官方渠道获取对应Linux版本),解压到指定目录(如
/opt/flutter或用户主目录):tar xf flutter_linux_*.tar.xz -C /opt/ - 配置环境变量,编辑
~/.bashrc或~/.zshrc文件,添加:export PATH="$PATH:/opt/flutter/bin" - 使环境变量生效:
source ~/.bashrc - 运行命令自动安装缺失依赖:
flutter doctor
2. 更新系统依赖库
确保系统安装了最新的glib和clang工具链:
sudo dnf install glib2-devel clang llvm -y
检查系统clang版本,确认使用的是系统自带的新版而非Snap残留的旧版:
clang --version
3. 清理项目缓存与构建文件
清除项目中残留的错误构建缓存:
flutter clean rm -rf .dart_tool build flutter pub get
4. 验证系统UTF-8 locale配置
检查系统locale是否为UTF-8格式:
locale
若输出中LANG不是UTF-8格式,设置系统默认locale:
sudo localectl set-locale LANG=en_US.UTF-8
重启终端或系统后生效。
内容的提问来源于stack exchange,提问作者dathhll
相关产品推荐
相关产品推荐

