| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- #!/bin/bash
- # Tauri + Chromium 自动化打包脚本
- # 用于快速构建包含内置Chrome浏览器的exe文件
- set -e # 遇到错误立即退出
- echo "🚀 开始构建 Tauri + Chromium 应用..."
- # 检查环境
- echo "📋 检查环境..."
- command -v node >/dev/null 2>&1 || { echo "❌ 需要安装 Node.js"; exit 1; }
- command -v cargo >/dev/null 2>&1 || { echo "❌ 需要安装 Rust"; exit 1; }
- command -v npx >/dev/null 2>&1 || { echo "❌ 需要安装 npm/npx"; exit 1; }
- echo "✅ 环境检查通过"
- # 安装依赖
- echo "📦 安装项目依赖..."
- npm install
- # Chromium bundling disabled — skip browser preparation
- echo "ℹ️ Chromium bundling disabled; skipping browser preparation."
- # 构建应用
- echo "🔨 构建应用..."
- if [[ "$OSTYPE" == "linux-gnu"* ]]; then
- echo "🐧 构建 Linux AppImage..."
- npm run tauri:build:linux
- elif [[ "$OSTYPE" == "darwin"* ]]; then
- echo "🍎 构建 macOS .app (Apple Silicon)..."
- npm run tauri:build:macos
- elif [[ "$OSTYPE" == "msys" ]] || [[ "$OSTYPE" == "win32" ]]; then
- echo "🪟 构建 Windows exe..."
- npm run tauri:build:windows
- else
- echo "❌ 不支持的操作系统: $OSTYPE"
- exit 1
- fi
- echo "✅ 构建完成!"
- # 显示输出位置
- if [[ "$OSTYPE" == "linux-gnu"* ]]; then
- OUTPUT_DIR="src-tauri/target/release/bundle/appimage/"
- OUTPUT_FILE="*.AppImage"
- elif [[ "$OSTYPE" == "darwin"* ]]; then
- OUTPUT_DIR="src-tauri/target/release/bundle/dmg/"
- OUTPUT_FILE="*.dmg"
- elif [[ "$OSTYPE" == "msys" ]] || [[ "$OSTYPE" == "win32" ]]; then
- OUTPUT_DIR="src-tauri/target/release/bundle/msi/"
- OUTPUT_FILE="*.msi"
- fi
- echo ""
- echo "📁 输出位置: $OUTPUT_DIR"
- echo "📦 生成文件: $OUTPUT_FILE"
- echo ""
- echo "🎉 打包成功!应用已包含内置Chromium浏览器,可以独立运行。"
- # 可选:显示文件大小
- if [[ -d "$OUTPUT_DIR" ]]; then
- echo ""
- echo "📊 文件信息:"
- ls -lh "$OUTPUT_DIR" | grep -E "\.(exe|app|AppImage|msi|dmg)$"
- fi
|