linux

Linux上Flutter项目如何部署

小樊
39
2025-10-21 13:23:12
栏目: 智能运维

Linux上Flutter项目部署指南(以Web/桌面应用为例)

一、前置准备:安装Flutter SDK与环境配置

  1. 安装Flutter SDK
    从Flutter官网下载Linux版SDK压缩包(如flutter_linux_x64-*.tar.xz),解压至指定目录(如~/flutter)。通过编辑~/.bashrc(或~/.zshrc)文件添加环境变量:export PATH="$PATH:$HOME/flutter/bin",运行source ~/.bashrc使配置生效。

  2. 安装依赖项
    Flutter项目需要系统依赖支持,执行以下命令安装(以Debian/CentOS为例):

    • Debian/Ubuntu:sudo apt install git wget unzip libgl1-mesa-dev libgconf-2-4 libnss3 libxss1 libasound2 libcups2 libxtst6 libx11-xcb1 libgtk-3-0
    • CentOS:sudo yum groupinstall "Development Tools" && sudo yum install epel-release && sudo yum install mesa-libGL-devel libXtst-devel libXrandr-devel cups-devel libXcursor-devel libXinerama-devel
      安装完成后运行flutter doctor,检查并解决缺失的依赖(如Android工具链、Dart SDK等)。

二、构建Flutter Web应用(部署到Linux服务器)

  1. 构建Web静态文件
    进入Flutter项目目录,执行以下命令生成Web端静态文件:

    flutter pub get  # 获取项目依赖
    flutter build web  # 输出至build/web目录
    

    构建完成后,build/web目录将包含index.html、JavaScript/CSS文件及资源文件。

  2. 配置Web服务器(以Nginx为例)

    • 安装Nginxsudo apt install nginx(Debian)或sudo yum install nginx(CentOS)。
    • 配置站点:创建Nginx配置文件(如/etc/nginx/sites-available/flutter_app),添加以下内容(替换your-domain.com为域名/IP,/path/to/your/flutter/project/build/web为静态文件路径):
      server {
          listen 80;
          server_name your-domain.com;
          root /path/to/your/flutter/project/build/web;
          index index.html;
          location / {
              try_files $uri $uri/ /index.html;  # 支持前端路由
          }
      }
      
    • 启用配置:创建符号链接sudo ln -s /etc/nginx/sites-available/flutter_app /etc/nginx/sites-enabled/,测试配置sudo nginx -t,重启Nginxsudo systemctl restart nginx
  3. 访问应用
    浏览器输入服务器IP或域名,即可访问部署的Flutter Web应用。

三、构建Linux桌面应用(本地部署)

  1. 构建桌面可执行文件
    进入项目目录,执行flutter build linux,生成的可执行文件位于build/linux/x64/release/bundle/目录下(名为your_project_name)。

  2. 发布应用

    • 打包为AppImage(跨发行版):安装linuxdeploy工具,执行linuxdeploy --appdir=./appdir --executable=./build/linux/x64/release/bundle/your_project_name --output=appimage,生成.AppImage文件。
    • 打包为deb/rpm(特定发行版):使用dpkg-deb(Debian)或rpmbuild(CentOS)工具,将可执行文件及依赖打包为安装包。

四、常见问题排查

0
看了该问题的人还看了