41 lines
1.0 KiB
Bash
Executable File
41 lines
1.0 KiB
Bash
Executable File
#!/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 安装完成"
|