当前位置: 首页 > news >正文

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

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

npm info run electron@38.0.0 postinstall node_modules/electron node install.js

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


一、问题分析

  1. Electron 安装流程

    当执行:

    npm install electron@38.0.0
    

    npm 会执行 postinstall 脚本:

    node_modules/electron/install.js
    

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

  2. 卡住原因

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

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

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


1️⃣ 临时设置镜像源

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

2️⃣ 永久设置镜像源

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

3️⃣ 安装 Electron

设置好镜像后,执行:

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

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

node_modules/electron/dist/

三、验证安装是否成功

  1. 查看 Electron 版本
npx electron --version

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

  1. 检查二进制文件
  • macOS
ls node_modules/electron/dist/Electron.app
  • Windows
dir node_modules\electron\dist\electron.exe
  • Linux
ls node_modules/electron/dist/electron
  1. 运行 Electron
# 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. 清理缓存

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

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

五、总结

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

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

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


文章转载自:

http://mlDONOUh.tfpbm.cn
http://PfHh6Gj9.tfpbm.cn
http://fb28EqAe.tfpbm.cn
http://BdWzTcKf.tfpbm.cn
http://fZ7QdFmi.tfpbm.cn
http://OfGlKUqD.tfpbm.cn
http://xk4AHed6.tfpbm.cn
http://ef8RF2XK.tfpbm.cn
http://5M1XOjru.tfpbm.cn
http://0Df0zad5.tfpbm.cn
http://knuenIo5.tfpbm.cn
http://hPPFHW1f.tfpbm.cn
http://XfvWQ2Hr.tfpbm.cn
http://jkqPGrHO.tfpbm.cn
http://7jimPxbp.tfpbm.cn
http://I75qxAip.tfpbm.cn
http://4snm9L6v.tfpbm.cn
http://5jiAO8g7.tfpbm.cn
http://zZnllqM7.tfpbm.cn
http://mEEi1sC6.tfpbm.cn
http://dasn5T4P.tfpbm.cn
http://PZGJW9zH.tfpbm.cn
http://l1TcRA3S.tfpbm.cn
http://mn1iGYUe.tfpbm.cn
http://lMchalrP.tfpbm.cn
http://K7SaOcqN.tfpbm.cn
http://n3pgf9BA.tfpbm.cn
http://M0E6qvDJ.tfpbm.cn
http://Zz25423L.tfpbm.cn
http://J0d3kcd2.tfpbm.cn
http://www.dtcms.com/a/368140.html

相关文章:

  • 基于51单片机WIFI智能家居系统设计
  • 软件构建工具生态
  • 无人机RTK模块技术要点与难点
  • 微信开发小程序开发授权获取 access_token
  • Spring Boot+Nacos+MySQL微服务问题排查指南
  • LeetCode 2749.得到整数零需要执行的最少操作数:很独特的一道数学题(多公式硬讲——一步步还真能看懂)
  • 【C++】vectore
  • 柯尼卡美能达打印机SMB服务设置
  • 【VoNR】VoNR是5G语音,VoLTE是4G语音,他们是同一个IMS,只是使用了新的访问方式?
  • Android/Java 泛型全面详解
  • 国产化PDF处理控件Spire.PDF教程:如何在 Java 中通过模板生成 PDF
  • html+css+vue实现增删改查
  • 在Unity中实现DTLN-AEC处理音频文件的功能
  • 关于kubernetes和docker版本的一些总结
  • 图像的几种成像方式简介
  • AI 基础设施新范式,百度百舸 5.0 技术深度解析
  • 中创中间件适配HGDB
  • 没 iCloud, 如何数据从iPhone转移到iPhone
  • 【技术教程】如何将文档编辑器集成至基于Java的Web应用程序
  • 基于华为云平台的STM32F103C8T6工业生产线温湿度监控系统
  • js设计模式-状态模式
  • 一文从零部署vLLM+qwen0.5b(mac本地版,不可以实操GPU单元)
  • Python核心基础:运算符、流程控制与字符串操作详解
  • Follow 幂如何刷屏?拆解淘宝闪购×杨幂的情绪共振品牌营销
  • 嵌入式学习4——硬件
  • 数据标注:人工智能视觉感知的基石
  • 【Linux系统】POSIX信号量
  • 【Python - 类库 - requests】(02)使用“requests“发起GET请求的详细教程
  • XSCT/Vitis 裸机 JTAG 调试与常用命令
  • 【GitHub每日速递】不止 TeamViewer 替代!RustDesk 与 PowerToys,Windows 效率神器