debian

Flutter项目在Debian上的部署流程

小樊
50
2025-10-03 18:06:47
栏目: 智能运维

1. 准备Debian系统环境
确保Debian系统为64位版本,且已更新至最新状态:

sudo apt update && sudo apt upgrade -y

安装Flutter依赖的工具链(包括编译、图形库及解压工具):

sudo apt install -y wget git cmake unzip libgl1-mesa-dev libgconf-2-4 libxkbcommon-x11-0 libxcursor1 libxdamage1 libxi6 libxtst6 libcups2 libasound2 libgstreamer1.0-0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good

2. 安装Flutter SDK
从Flutter官网下载最新的稳定版SDK(以2.10.4为例):

wget https://storage.googleapis.com/flutter-release/releases/2.10.4/flutter-linux-amd64-2.10.4.tar.xz

解压至指定目录(如/flutter):

sudo mkdir -p /flutter
sudo tar -xf flutter-linux-amd64-2.10.4.tar.xz -C /flutter

配置环境变量,将Flutter的bin目录添加至PATH

echo 'export PATH="$PATH:/flutter/bin"' >> ~/.bashrc
source ~/.bashrc

验证安装是否成功:

flutter doctor

根据flutter doctor的输出安装缺失的依赖(如Android工具链,若需开发Android应用)。

3. 创建或配置Flutter项目
创建新的Flutter项目(若已有项目可跳过此步):

flutter create my_flutter_app
cd my_flutter_app

编辑pubspec.yaml文件,添加桌面平台支持(确保flutter模块包含linux):

flutter:
  uses-material-design: true
  desktop:
    - linux  # 启用Linux平台支持

获取项目依赖:

flutter pub get

4. 构建Linux桌面应用
使用Flutter命令构建Linux版本的应用:

flutter build linux

构建完成后,生成的程序文件位于build/linux/x64/release/bundle/目录下,其中my_flutter_app为可执行文件。

5. 打包为Debian安装包(.deb)
安装flutter_build_debian插件(用于自动化打包):

flutter pub global activate flutter_build_debian

在项目根目录创建debian.yaml配置文件(定义包信息):

flutter_app:
  command: my_flutter_app  # 应用可执行文件名(需与build目录下一致)
  arch: amd64              # 目标架构(Debian常用amd64)
  parent: /opt/my_flutter_app  # 应用安装目录(建议使用/opt)
  nonInteractive: false    # 是否允许非交互式安装

运行打包命令生成.deb文件:

flutter pub global run flutter_build_debian

生成的.deb文件位于build/debian/目录下(如my_flutter_app_1.0.0_amd64.deb)。

6. 部署与安装应用
.deb文件传输至目标Debian服务器(可通过scp或U盘):

scp build/debian/my_flutter_app_1.0.0_amd64.deb user@server_ip:/tmp

在目标服务器上安装应用(使用dpkg命令):

sudo dpkg -i /tmp/my_flutter_app_1.0.0_amd64.deb

若安装过程中提示缺失依赖,运行以下命令自动修复:

sudo apt --fix-broken install

安装完成后,通过应用名称启动(如my_flutter_app):

/opt/my_flutter_app/my_flutter_app

7. 可选:使用Docker简化部署
若需统一环境,可创建Docker镜像部署Flutter应用:

FROM cirrusci/flutter:stable
WORKDIR /app
COPY . .
RUN flutter pub get
RUN flutter build linux
docker build -t my_flutter_app .
docker run -it --rm -p 8080:8080 my_flutter_app

通过http://server_ip:8080访问应用(需确保端口开放)。

0
看了该问题的人还看了