使用国内镜像源解决 Electron 安装卡在 postinstall 的问题

在国内开发 Electron 应用时,经常会遇到以下情况:

bash 复制代码
npm info run electron@38.0.0 postinstall node_modules/electron node install.js

安装长时间卡住,尤其在国内网络环境下。这是因为 Electron 默认从 GitHub 下载二进制文件,而国内访问 GitHub 下载速度慢甚至失败。本文将介绍如何使用 国内镜像源 ,在 Windows、macOS 和 Linux 上快速安装 Electron。


一、问题分析

  1. Electron 安装流程

    当执行:

    bash 复制代码
    npm install electron@38.0.0

    npm 会执行 postinstall 脚本:

    bash 复制代码
    node_modules/electron/install.js

    它会下载对应平台的二进制文件(.app、.exe、.AppImage 等),用于运行 Electron。

  2. 卡住原因

    • GitHub 下载速度慢或被限速。
    • VPN 或代理配置不当。
    • 国内防火墙对大文件下载有限制。

二、解决方案:使用国内镜像源

Electron 提供了环境变量 ELECTRON_MIRROR,用于指定二进制文件的下载源。


1️⃣ 临时设置镜像源

macOS / Linux:
bash 复制代码
export ELECTRON_MIRROR="https://npmmirror.com/mirrors/electron/"
npm install electron@38.0.0
Windows(PowerShell):
powershell 复制代码
setx ELECTRON_MIRROR "https://npmmirror.com/mirrors/electron/"
npm install electron@38.0.0
  • 说明:临时设置只在当前终端有效。关闭终端后失效。

2️⃣ 永久设置镜像源

macOS / Linux(以 zsh 为例):
  1. 打开配置文件:
bash 复制代码
nano ~/.zshrc
  1. 添加:
bash 复制代码
export ELECTRON_MIRROR="https://npmmirror.com/mirrors/electron/"
  1. 保存退出并生效:
bash 复制代码
source ~/.zshrc
Windows(PowerShell 永久环境变量):
  1. 打开 PowerShell(管理员模式):
powershell 复制代码
[Environment]::SetEnvironmentVariable("ELECTRON_MIRROR", "https://npmmirror.com/mirrors/electron/", "User")
  1. 重启 PowerShell,使环境变量生效。

3️⃣ 安装 Electron

设置好镜像后,执行:

bash 复制代码
npm install electron@38.0.0
  • macOS M1/M2:确保下载 ARM64 架构版本。
  • Linux :通常下载 .AppImage 或 .tar.gz 文件。
  • Windows :下载 .exe 或 .zip 文件。

下载完成后,二进制文件会位于:

复制代码
node_modules/electron/dist/

三、验证安装是否成功

  1. 查看 Electron 版本:
bash 复制代码
npx electron --version

输出版本号如 v38.0.0 表示安装成功。

  1. 检查二进制文件:
  • macOS:
bash 复制代码
ls node_modules/electron/dist/Electron.app
  • Windows:
powershell 复制代码
dir node_modules\electron\dist\electron.exe
  • Linux:
bash 复制代码
ls node_modules/electron/dist/electron
  1. 运行 Electron:
bash 复制代码
# macOS
./node_modules/electron/dist/Electron.app/Contents/MacOS/Electron .
# Windows
.\node_modules\electron\dist\electron.exe .
# Linux
./node_modules/electron/dist/electron .

四、常见注意事项

  1. 架构匹配

    • macOS M1/M2 → ARM64
    • Intel 芯片 → x64
    • Linux 和 Windows → x64
  2. npm 版本

    • 建议使用最新稳定版 npm。旧版本可能无法识别镜像环境变量。
  3. 清理缓存

    • 如安装仍卡住,可执行:
bash 复制代码
npm cache clean --force
  1. 全局 vs 项目本地

    • 推荐项目本地安装:
bash 复制代码
npm install electron@38.0.0 --save-dev
  • 全局安装仅用于命令行测试。

五、总结

通过使用国内镜像源,可以在 Windows、macOS 和 Linux 上解决 Electron 安装卡在 postinstall 的问题,稳定、高速下载二进制文件。

  • 临时设置:export / setx
  • 永久设置:配置 shell 或系统环境变量
  • 安装命令:npm install electron

这样,无论是跨平台开发还是团队协作,都能快速搭建 Electron 环境,避免网络问题导致的安装失败。

相关推荐
夏幻灵16 小时前
JavaScript this 面试:五种绑定规则、优先级与常见面试陷阱
开发语言·javascript·面试
Lvan的前端笔记16 小时前
docker:每个前端项目一个 Nginx 容器还是只有一个Nginx容器
前端·nginx·docker
三天不学习17 小时前
Egg.js 4 突然爆火,原因是否归结于AI 原生落地需求爆发?
前端·javascript·全栈·egg.js
xcs1940517 小时前
前端 vue 的前端页面debugger 进不去
前端·javascript·vue.js
明月_清风18 小时前
Deno 终局来了:从挑战 Node 到被 Cloudflare 收编
前端·后端·node.js
Csvn19 小时前
框架性能优化
前端
回眸&啤酒鸭21 小时前
【回眸】OpenSwarm 多智能体协作系统实战指南
大数据·前端·人工智能
用户693717500138421 小时前
2026,程序员的时代拐点到了
android·前端·后端
大龄秃头程序员21 小时前
一次 iBeacon + BLE 无感解锁方案的实现记录
前端
小兔子21 小时前
Python 的 GIL 与 free-threading:3.13 之后「去 GIL」走到哪一步了
前端