Linux上Flutter项目如何部署
导读:Linux上Flutter项目部署指南(以Web/桌面应用为例) 一、前置准备:安装Flutter SDK与环境配置 安装Flutter SDK 从Flutter官网下载Linux版SDK压缩包(如flutter_linux_x64-*...
Linux上Flutter项目部署指南(以Web/桌面应用为例)
一、前置准备:安装Flutter SDK与环境配置
-
安装Flutter SDK
从Flutter官网下载Linux版SDK压缩包(如flutter_linux_x64-*.tar.xz
),解压至指定目录(如~/flutter
)。通过编辑~/.bashrc
(或~/.zshrc
)文件添加环境变量:export PATH="$PATH:$HOME/flutter/bin"
,运行source ~/.bashrc
使配置生效。 -
安装依赖项
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等)。
- Debian/Ubuntu:
二、构建Flutter Web应用(部署到Linux服务器)
-
构建Web静态文件
进入Flutter项目目录,执行以下命令生成Web端静态文件:flutter pub get # 获取项目依赖 flutter build web # 输出至build/web目录
构建完成后,
build/web
目录将包含index.html
、JavaScript/CSS文件及资源文件。 -
配置Web服务器(以Nginx为例)
- 安装Nginx:
sudo 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
。
- 安装Nginx:
-
访问应用
浏览器输入服务器IP或域名,即可访问部署的Flutter Web应用。
三、构建Linux桌面应用(本地部署)
-
构建桌面可执行文件
进入项目目录,执行flutter build linux
,生成的可执行文件位于build/linux/x64/release/bundle/
目录下(名为your_project_name
)。 -
发布应用
- 打包为AppImage(跨发行版):安装
linuxdeploy
工具,执行linuxdeploy --appdir=./appdir --executable=./build/linux/x64/release/bundle/your_project_name --output=appimage
,生成.AppImage
文件。 - 打包为deb/rpm(特定发行版):使用
dpkg-deb
(Debian)或rpmbuild
(CentOS)工具,将可执行文件及依赖打包为安装包。
- 打包为AppImage(跨发行版):安装
四、常见问题排查
- Web服务器无法访问:检查防火墙是否开放80/443端口(
sudo ufw allow 80
),确保Nginx配置中的root
路径正确。 - 依赖缺失:运行
flutter doctor
查看红色警告,按提示安装缺失的库(如libgtk-3-dev
)。 - 桌面应用无法启动:确保系统安装了GTK3、OpenGL等依赖,可通过
ldd ./your_project_name
检查动态库依赖。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Linux上Flutter项目如何部署
本文地址: https://pptw.com/jishu/731707.html