温馨提示×

centos下flutter部署要注意啥

小樊
46
2026-01-02 06:33:29
栏目: 智能运维

CentOS 下 Flutter 部署要点

一 系统与权限准备

  • 使用64 位 CentOS,预留至少2GB可用磁盘空间(实际构建 Android 常见需10GB+)。
  • 以具有 sudo 权限的账号操作,避免将 SDK 放在需要 sudo 才能写入的目录。
  • 安装基础工具:git、curl、unzip、which、bash(Flutter 依赖这些命令行工具)。
  • 若使用桌面环境进行调试,准备 X11/Wayland 与显卡驱动;纯服务器环境建议直接走真机/远程设备调试,避免无头环境下 GUI 依赖问题。

二 安装与镜像配置

  • 下载并解压 Flutter SDK 到全英文路径(如:/opt/flutter),避免中文或空格路径导致工具链异常。
  • 配置环境变量(示例为 bash,zsh 请改为 ~/.zshrc):
    • 永久生效:编辑 ~/.bash_profile~/.bashrc
      export PATH=$PATH:/opt/flutter/bin
      # 可选:Android 开发所需
      export ANDROID_HOME=/opt/Android/Sdk
      export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/tools/bin:$ANDROID_HOME/platform-tools:$ANDROID_HOME/emulator
      # 可选:国内镜像(稳定性不保证,按需启用)
      export PUB_HOSTED_URL=https://pub.flutter-io.cn
      export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
      
    • 使配置生效:source ~/.bash_profilesource ~/.bashrc
  • 首次运行 flutter doctor 会自动下载依赖;完成后按提示逐项修复。

三 Android 工具链与权限合规

  • 安装 JDK 8(CentOS 常见做法):sudo yum install -y java-1.8.0-openjdk*,并设置 JAVA_HOME(如:/usr/lib/jvm/java-1.8.0-openjdk)。
  • 在 Android Studio 的 SDK Manager 勾选安装:
    • Android SDK Platform-ToolsAndroid SDK Build-Tools(与项目 compileSdk/ targetSdk 匹配)
    • Android SDK Command-line Tools (latest)
  • 接受许可协议:flutter doctor --android-licenses(全选 y)。
  • 常见检查项与修复要点:
    • “Android toolchain” 缺失:确认 ANDROID_HOME 路径、命令行工具是否安装、构建工具版本是否匹配。
    • “Connected device” 为空:连接真机(开启USB 调试)或在 Android Studio 中创建 AVD 后启动模拟器再运行。
    • 构建失败:优先对齐 compileSdkVersion/targetSdkVersion 与已安装平台版本,更新 Build-Tools。

四 Linux 依赖与桌面环境

  • 无头服务器建议仅用于 CLI 构建与打包;如需运行/调试 GUI,安装常见图形依赖(桌面版 CentOS 通常已具备):
    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
    
  • 若在 Android Studio 中创建 AVD,确保系统支持硬件虚拟化(BIOS 开启 VT-x/AMD-V),并使用支持硬件加速的虚拟化后端(如 KVM);否则模拟器会非常卡顿或无法启动。

五 国内网络与常见问题排查

  • 资源获取慢或失败:启用镜像变量(见第二节),或优先下载 SDK 压缩包而非 git clone;镜像为临时方案,可能随时调整。
  • flutter 命令不可用:检查 PATH 是否包含 Flutter bin 目录,修改后重启终端/SSH 会话再试。
  • Android 许可未接受:执行 flutter doctor --android-licenses 全部接受。
  • 插件与依赖:修改 pubspec.yaml 后执行 flutter pub get;若依赖原生平台代码(Android),需确保本地 Android SDK/NDK 与构建工具就绪。
  • iOS 相关:CentOS 不支持 iOS 开发,如需 iOS 需使用远程 Mac 构建与运行。

0