centos上flutter如何部署
小樊
35
2025-11-16 00:19:53
CentOS 上 Flutter 部署指南
一 环境准备与安装
- 更新系统并安装基础依赖(桌面环境或 X11 相关库用于 Linux 桌面运行与模拟器):
- sudo yum update -y
- sudo yum install -y wget git cmake3 libcurl-devel openssl-devel xorg-x11-devel libgl1-mesa-devel libgtk-3-devel libxtst-devel libxrandr-devel libxrender-devel libasound2-devel
- 安装 Flutter SDK(两种常用方式,二选一):
- 手动下载并解压到系统目录(示例为稳定版路径,可按需替换版本号):
- wget https://storage.googleapis.com/flutter/releases/3.10.0/flutter-linux-x64-3.10.0.tar.xz
- sudo tar -xf flutter-linux-x64-3.10.0.tar.xz -C /opt/
- sudo ln -sfn /opt/flutter/bin/flutter /usr/local/bin/flutter
- 使用官方安装脚本:
- curl -fsSL https://dl.flutter.io/linux/flutter.sh | bash
- 配置环境变量(将 Flutter 加入 PATH,写入 ~/.bashrc 或 ~/.zshrc):
- echo ‘export PATH=“$HOME/flutter/bin:$PATH”’ >> ~/.bashrc && source ~/.bashrc
- 验证安装:
- flutter doctor(按提示安装缺失组件,确保可用)
二 构建与运行 Linux 桌面版
- 新建或进入项目:
- flutter create my_flutter_app && cd my_flutter_app
- 启用 Linux 桌面支持(首次需要):
- flutter config --enable-linux-desktop
- 构建与运行(Release 模式便于部署与性能):
- flutter build linux --release
- ./build/linux/x64/release/bundle/my_flutter_app
- 无头服务器建议:使用 Xvfb 虚拟帧缓冲运行 GUI(示例):
- sudo yum install -y xorg-x11-server-Xvfb
- xvfb-run -s “-screen 0 1920x1080x24” ./build/linux/x64/release/bundle/my_flutter_app
三 构建 Android APK 并部署到设备
- 安装与配置 Android 环境(可选,用于打包 APK/连接真机):
- 安装 Android Studio 并在 SDK Manager 中勾选:
- Android SDK Platform-Tools、Android SDK Tools、Android SDK Build-Tools(选最新稳定版)、Android Emulator(如需模拟器)
- 配置环境变量(写入 ~/.bashrc 或 ~/.zshrc):
- export ANDROID_HOME=$HOME/Android/Sdk
- export PATH=$PATH:$ANDROID_HOME/emulator:$ANDROID_HOME/tools:$ANDROID_HOME/tools/bin:$ANDROID_HOME/platform-tools
- source ~/.bashrc
- 验证:adb devices(确认设备/模拟器连接)
- 构建与安装:
- 构建 APK:flutter build apk --release
- 安装到设备:flutter install(确保设备已连接并授权)
- 说明:CentOS 不支持 iOS 开发与模拟器,iOS 需在 macOS 环境进行。
四 使用 Docker 容器化部署
- 方式一 直接在 CentOS 上安装 Docker 后用官方镜像运行(适合快速验证与隔离环境):
- 安装 Docker(示例):
- sudo yum update -y
- sudo yum install -y yum-utils device-mapper-persistent-data lvm2
- sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
- sudo yum install -y docker-ce docker-ce-cli containerd.io
- sudo systemctl start docker && sudo systemctl enable docker
- 运行官方 Flutter 镜像(进入容器后按需执行 flutter 命令):
- docker run -it --rm -v $PWD:/app -w /app cirrusci/flutter:stable bash
- 方式二 自建 Dockerfile(示例,构建 Linux 可执行文件并运行):
- Dockerfile:
- FROM cirrusci/flutter:stable
- WORKDIR /app
- COPY . .
- RUN flutter pub get
- RUN flutter build linux --release
- CMD [“./build/linux/x64/release/bundle/my_flutter_app”]
- 构建与运行:
- docker build -t flutter_app .
- docker run -it --rm -p 8080:8080 flutter_app
- 提示:如需 GUI,容器内可使用 X11 转发或 VNC;无头运行优先选择“构建产物 + 轻量运行时”。
五 常见问题与排错
- 运行 flutter doctor 报错缺组件:按提示安装对应 Android SDK/Platform-Tools/Build-Tools,或启用 Linux desktop 支持。
- 无法连接设备:执行 adb devices 检查授权与连接状态;USB 调试需开启,或更换数据线与端口。
- 服务器无图形界面:使用 Xvfb 虚拟显示运行 GUI 应用,或改为构建 Linux 可执行文件 在带桌面环境的主机上运行。
- 构建缓慢或失败:执行 flutter clean 后重试;确保磁盘空间充足、依赖已安装、系统时间正确。