温馨提示×

centos中flutter部署步骤是什么

小樊
37
2025-12-13 16:22:06
栏目: 智能运维

CentOS 上 Flutter 部署步骤

一 准备环境

  • 安装基础工具与依赖
    • 更新系统并安装必要软件:sudo yum update -y && sudo yum install -y wget git unzip xz
  • 安装 Flutter SDK(任选其一)
    • 手动安装
      • 下载 SDK(示例为 3.10.0,请替换为最新稳定版):
        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 -s /opt/flutter/bin/flutter /usr/local/bin/flutter
    • 使用官方安装脚本:
      curl -fsSL https://dl.flutter.io/linux/flutter.sh | bash
    • 使用 Snap(可选,CentOS 7 强烈推荐,减少 Linux 工具链踩坑):
      sudo yum install -y epel-release && sudo yum install -y snapd
      sudo systemctl enable --now snapd.socket && sudo ln -s /var/lib/snapd/snap /snap
      sudo snap install flutter --classic
  • 配置环境变量(示例为 bash
    • 编辑 ~/.bashrc
      echo ‘export PATH=“$PATH:$HOME/flutter/bin”’ >> ~/.bashrc
      source ~/.bashrc
  • 验证环境
    • flutter doctor(按需安装缺失组件,如 Android SDK、Chrome、Linux toolchain 等)

二 选择部署目标与构建

  • Web 前端部署
    • 在项目根目录构建:
      flutter build web --release
    • 产物目录:build/web(后续由 Nginx 托管)
  • Android 打包(APK/AAB)
    • 连接设备或使用模拟器后构建:
      flutter build apk --releaseflutter build appbundle --release
    • 产物目录:build/app/outputs/flutter-apk/(APK)或 build/app/outputs/bundle/release/(AAB)
  • Linux 桌面(可选)
    • 构建可执行文件:
      flutter build linux --release
    • 产物目录:build/linux/x64/release/bundle/

三 服务器部署与发布

  • Web 部署(Nginx 静态托管)
    • 安装 Nginx:
      sudo yum install -y nginx
    • 部署产物:将 build/web 上传至服务器目录(如 /var/www/flutter_web
    • 配置 /etc/nginx/nginx.conf(示例)
      • 设置运行用户:user root;
      • http/server/location 中配置:
        root /var/www/flutter_web; index index.html; try_files $uri $uri/ /index.html;
    • 启动与开机自启:
      sudo systemctl start nginx && sudo systemctl enable nginx
    • 访问测试:http://服务器IP或域名
  • Android 发布
    • app-release.apkapp-release.aab 上传至分发渠道(如 内测平台、应用商店),或使用 scp 分发到测试设备
  • Linux 桌面发布
    • build/linux/x64/release/bundle/ 整个目录拷贝到目标机器,运行:
      ./your_app
  • 可选 容器化部署(Docker)
    • 示例 Dockerfile(Web 构建产物):
      FROM nginx:alpine
      COPY build/web /usr/share/nginx/html
      EXPOSE 80
      CMD ["nginx", "-g", "daemon off;"]
      
    • 构建与运行:
      docker build -t flutter_web .
      docker run -d -p 80:80 flutter_web

四 常见问题与优化

  • 构建机 Git 版本过低导致依赖解析异常(如 CentOS 7 默认 git 1.8.3
    • 升级 Git:
      sudo yum -y install http://opensource.wandisco.com/centos/7/git/x86_64/wandisco-git-release-7-2.noarch.rpm
      sudo yum -y update git
  • 国内网络加速(可选)
    • 配置环境变量:
      export PUB_HOSTED_URL=https://pub.flutter-io.cn
      export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
  • CI/CD 与 PATH
    • 使用 snap 时,确保任务环境包含路径:/var/lib/snapd/snap/bin
  • 构建与运行建议
    • 明确目标平台(Web/Android/Linux),仅安装所需工具链,减少 flutter doctor 告警与构建干扰

0