温馨提示×

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-ToolsAndroid SDK ToolsAndroid 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 后重试;确保磁盘空间充足、依赖已安装、系统时间正确。

0