在 Debian 上优化 Flutter 开发环境,主要目标是提升构建速度、减少资源占用、提高开发体验。下面按「系统层 → Flutter 本身 → 编译与调试 → IDE → CI/自动化」五个层面给你一套实用优化方案。
推荐使用:
避免:
performance CPU 调度如果你是笔记本或服务器:
sudo apt install linux-tools-common
sudo cpupower frequency-set -g performance
(可选)写入开机执行:
echo 'governor="performance"' | sudo tee /etc/default/cpufrequtils
Flutter 构建会大量打开文件:
echo "* soft nofile 65535" | sudo tee -a /etc/security/limits.conf
echo "* hard nofile 65535" | sudo tee -a /etc/security/limits.conf
重新登录后生效。
如果内存 ≥ 16GB:
sudo mount -t tmpfs tmpfs /tmp -o size=8G
Flutter 构建时:
export TMPDIR=/tmp
export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
写入 ~/.bashrc 或 ~/.zshrc
只保留你用的平台:
flutter config --enable-linux-desktop
flutter config --disable-android
flutter config --disable-ios
flutter config --disable-web
flutter clean 的最小化策略不要频繁 flutter clean,而是:
flutter pub get
flutter build linux --release
必要时再:
flutter clean
Linux 桌面构建:
flutter build linux -j$(nproc)
Android(Debian 上):
export GRADLE_OPTS="-Dorg.gradle.parallel=true -Dorg.gradle.daemon=true"
flutter run --release
flutter run --profile
避免一直用 debug(非常慢)
flutter build linux --release
比 JIT 快很多。
如果你用的是 GTK / Wayland:
export FLUTTER_ENGINE_SWITCHES="--enable-impeller=false"
(Impeller 在部分 Debian + Intel 显卡上仍不稳定)
安装插件:
settings.json:
{
"dart.flutterAdditionalArgs": ["--disable-telemetry"],
"dart.flutterHotReloadOnSave": true,
"files.watcherExclude": {
"**/.dart_tool": true,
"**/build": true
}
}
如果你不用 Android,直接 不用装 Android Studio,可节省 2~3GB 内存。
.dart_tool 和 buildcache:
paths:
- .dart_tool
- build
flutter pub get --offlineflutter pub get --offline
sudo apt install \
clang cmake ninja-build pkg-config \
libgtk-3-dev liblzma-dev libstdc++-12-dev
错误示例:
version `GLIBC_2.34' not found
✅ 解决:使用 Debian 12
Debian + fcitx5 需要:
sudo apt install fcitx5 fcitx5-chinese-addons
# ~/.bashrc
export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
export TMPDIR=/tmp
export FLUTTER_ENGINE_SWITCHES="--enable-impeller=false"
如果你愿意,我可以:
你现在主要是 桌面应用 / Android / Web 哪一类?