#!/bin/bash # scripts/fix-electron.sh - 自动修复 Electron 二进制文件 cd "$(dirname "$0")/.." || exit 1 ELECTRON_DIR="node_modules/electron" ELECTRON_VERSION=$(node -e "console.log(require('./$ELECTRON_DIR/package.json').version)" 2>/dev/null) if [ -z "$ELECTRON_VERSION" ]; then echo "❌ 未找到 electron 包,跳过" exit 0 fi # 检查是否已安装 if [ -f "$ELECTRON_DIR/dist/electron" ]; then echo "✅ Electron v$ELECTRON_VERSION 已安装" exit 0 fi echo "⏳ 正在下载 Electron v$ELECTRON_VERSION..." # 下载 ARCH=$(uname -m) if [ "$ARCH" = "x86_64" ]; then ARCH="x64" elif [ "$ARCH" = "aarch64" ]; then ARCH="arm64" fi URL="https://github.com/electron/electron/releases/download/v${ELECTRON_VERSION}/electron-v${ELECTRON_VERSION}-linux-${ARCH}.zip" curl -L -o /tmp/electron.zip "$URL" # 解压 rm -rf "$ELECTRON_DIR/dist" mkdir -p "$ELECTRON_DIR/dist" unzip -q /tmp/electron.zip -d "$ELECTRON_DIR/dist/" printf 'electron' > "$ELECTRON_DIR/path.txt" rm /tmp/electron.zip echo "✅ Electron v$ELECTRON_VERSION 安装完成"