Debian上Flutter应用的部署流程是怎样的
导读:Debian上Flutter应用的部署流程 一 准备环境 更新系统并安装构建与图形依赖(64位系统): sudo apt update && sudo apt upgrade -y sudo apt install -y...
Debian上Flutter应用的部署流程
一 准备环境
- 更新系统并安装构建与图形依赖(64位系统):
- sudo apt update & & sudo apt upgrade -y
- 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
- 安装 Flutter SDK(示例为稳定版,可按需替换为最新版本链接):
- mkdir -p /flutter
- wget https://storage.googleapis.com/flutter-release/releases/2.10.4/flutter-linux-amd64-2.10.4.tar.xz
- tar -xf flutter-linux-amd64-2.10.4.tar.xz -C /flutter
- echo ‘export PATH=“$PATH:/flutter/bin”’ > > ~/.bashrc & & source ~/.bashrc
- 验证环境:flutter doctor(按需安装缺失组件)。
二 启用Linux桌面支持并构建
- 创建或进入项目,启用 Linux 桌面支持(确保项目包含 linux 目标):
- flutter create my_flutter_app & & cd my_flutter_app
- 在 pubspec.yaml 中添加:desktop: [linux]
- flutter pub get
- 构建 Linux 发行包(Release):flutter build linux
- 产物路径:build/linux/x64/release/bundle/,其中包含可执行文件(与项目名同名)及所需资源。
三 打包为Debian安装包 .deb
- 安装打包插件:flutter pub global activate flutter_build_debian
- 在项目根目录创建 debian.yaml(示例):
- flutter_app:
- command: my_flutter_app
- arch: amd64
- parent: /opt/my_flutter_app
- nonInteractive: false
- flutter_app:
- 生成 .deb:flutter pub global run flutter_build_debian
- 产物路径:build/debian/,如 my_flutter_app_1.0.0_amd64.deb。
四 在目标机器安装与启动
- 传输安装包:scp build/debian/my_flutter_app_1.0.0_amd64.deb user@server_ip:/tmp
- 安装与修复依赖:
- sudo dpkg -i /tmp/my_flutter_app_1.0.0_amd64.deb
- sudo apt --fix-broken install
- 启动应用:/opt/my_flutter_app/my_flutter_app
- 如需系统级自启,可创建 systemd 服务单元(示例):
-
sudo tee /etc/systemd/system/my_flutter_app.service > /dev/null < < ‘EOF’ [Unit] Description=My Flutter App After=network.target
[Service] ExecStart=/opt/my_flutter_app/my_flutter_app Restart=always User=myuser Environment=DISPLAY=:0
[Install] WantedBy=multi-user.target EOF
-
sudo systemctl daemon-reload
-
sudo systemctl enable --now my_flutter_app。
-
五 可选方案
- 容器化构建与运行(统一环境、便于CI/CD):
- Dockerfile 示例:
- FROM cirrusci/flutter:stable
- WORKDIR /app
- COPY . .
- RUN flutter pub get
- RUN flutter build linux
- CMD [“/app/build/linux/x64/release/bundle/my_flutter_app”]
- 构建与运行:
- docker build -t my_flutter_app .
- docker run -it --rm my_flutter_app
- Dockerfile 示例:
- 部署为 Web 应用(若项目为 Web 目标):
- 构建:flutter build web(产物在 build/web)
- 以 Nginx 为例:
- sudo apt install nginx
- 配置 server { listen 80; root /path/to/build/web; index index.html; location / { try_files $uri $uri/ =404; } }
- 启用站点并重启:sudo ln -s /etc/nginx/sites-available/your-app /etc/nginx/sites-enabled & & sudo nginx -t & & sudo systemctl restart nginx。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian上Flutter应用的部署流程是怎样的
本文地址: https://pptw.com/jishu/784243.html
