在 CentOS 上使用 Flutter 时热重载(Hot Reload)失效,通常不是 Flutter 本身的 bug,而是环境或运行方式的问题。下面按最常见原因给你排查清单。
热重载 只在 debug 模式可用
flutter run --release ❌
flutter run --profile ❌
flutter run ✅
✅ 正确方式:
flutter run
如果你在 无 GUI 的 CentOS 服务器 上:
✅ 解决方式:
flutter run热重载依赖:
r)如果你这样跑:
nohup flutter run &
❌ 热重载直接失效
✅ 正确:
flutter run
并保持终端在前台
CentOS 默认 inotify 限制较低
cat /proc/sys/fs/inotify/max_user_watches
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
然后重启 flutter run
flutter buildflutter installflutter run --no-hotflutter run -d chrome --releaseflutter run
flutter run -d linux
flutter run -d chrome
main()✅ 这种情况应使用 Hot Restart(按 R 大写)
flutter doctor -v
flutter --version
建议:
getenforce
如果是 Enforcing:
sudo setenforce 0
(仅用于测试)
flutter run
# 然后:
# 修改代码
# 按 r(小写)
如果还不生效,告诉我:
flutter doctor -v 输出我可以直接帮你定位。