fix: 自动修复 Electron 二进制安装
- 添加 scripts/fix-electron.sh 自动检测并下载 Electron 二进制 - postinstall 自动运行修复脚本 - 支持 x64/arm64 架构 - npm run fix:electron 可手动触发
This commit is contained in:
Generated
+828
-2586
File diff suppressed because it is too large
Load Diff
+5
-3
@@ -14,7 +14,8 @@
|
||||
"dev": "electron-vite dev",
|
||||
"build": "electron-vite build",
|
||||
"start": "electron-vite preview",
|
||||
"postinstall": "electron-builder install-app-deps",
|
||||
"postinstall": "electron-builder install-app-deps && bash scripts/fix-electron.sh",
|
||||
"fix:electron": "bash scripts/fix-electron.sh",
|
||||
"build:unpack": "npm run build && electron-builder --dir",
|
||||
"build:win": "npm run build && electron-builder --win",
|
||||
"build:mac": "npm run build && electron-builder --mac",
|
||||
@@ -27,9 +28,10 @@
|
||||
"pinia": "^3.0.4"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@element-plus/icons-vue": "^2.3.1",
|
||||
"@vitejs/plugin-vue": "^5.2.0",
|
||||
"electron": "^33.4.11",
|
||||
"electron-builder": "^25.1.0",
|
||||
"electron": "^43.0.0",
|
||||
"electron-builder": "^26.15.3",
|
||||
"electron-vite": "^3.0.0",
|
||||
"element-plus": "^2.9.0",
|
||||
"typescript": "^5.7.0",
|
||||
|
||||
Executable
+38
@@ -0,0 +1,38 @@
|
||||
#!/bin/bash
|
||||
# scripts/fix-electron.sh - 自动修复 Electron 二进制文件
|
||||
|
||||
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 1
|
||||
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 安装完成"
|
||||
Reference in New Issue
Block a user