在 CentOS 上运行或构建 Flutter 报错,原因通常集中在 系统依赖、权限、环境配置、GLIBC 版本 这几类。下面我按「最常见原因 → 解决办法」给你一个排查清单。
CentOS 默认是 最小化安装,Flutter 需要的库很多都没装。
典型报错:
error while loading shared librarieslibGL.so.1: cannot open shared object fileFailed to load dynamic library解决(CentOS 7/8 通用):
sudo yum install -y \
git curl unzip xz \
glibc.i686 libselinux.i686 \
libstdc++.i686 \
mesa-libGL mesa-libEGL \
alsa-lib nspr nss \
libX11 libXext libXrender \
fontconfig
CentOS 8 / Stream:
sudo dnf install -y \
git curl unzip \
mesa-libGL mesa-libEGL \
alsa-lib nss nspr \
libX11 libXext libXrender
Flutter 新版本 要求 GLIBC ≥ 2.28,而:
报错示例:
version 'GLIBC_2.28' not found
解决方案: ✅ 推荐:
❌ 不推荐:
报错示例:
Android SDK not foundflutter doctor 红叉解决:
export ANDROID_HOME=$HOME/Android/Sdk
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
并安装:
sdkmanager "platform-tools" "platforms;android-33" "build-tools;33.0.1"
报错:
Permission denied.flutter 无法写入解决:
sudo chown -R $USER:$USER ~/.flutter
flutter doctor
⚠️ 不要用 root 跑 flutter
现象:
排查:
getenforce
临时关闭测试:
sudo setenforce 0
flutter doctor -v
把 红色错误 贴出来,我可以精确告诉你哪一行问题。
✅ 最稳方案
你可以直接贴:
flutter doctor -v 输出cat /etc/redhat-release)我可以直接帮你逐条修。