个人纪录-Electron安装失败解决办法

一、初始化项目

powershell 复制代码
npm init
或
yarn init
初始化完文件
package.json 复制代码
{
  "name": "electron-test",
  "version": "1.0.0",
  "description": "Hello Electron!",
  "main": "main.js",
  "author": "LiPingAn",
  "license": "MIT",
  "dependencies": {
    "electron": "^37.2.3"
  }
}

二、解决文件占用问题

  1. Electron 下载失败 (ReadError)

    • 错误信息:ReadError: The server aborted pending request
    • 原因:从 GitHub 下载 Electron 二进制文件时网络中断(可能因网络波动、防火墙或 GitHub 限流)
  2. 文件权限问题 (EPERM)

    • 错误信息:EPERM: operation not permitted, rmdir
    • 原因:文件被进程占用导致无法删除(常见于 Windows 系统)
    • 影响路径:node_modules\@electron\get\dist\cjs
  3. 安装流程中断

    • postinstall 脚本 node install.js 执行失败(退出代码 1)
    • 残留文件导致后续清理失败

完整解决方案

第一步:解决文件占用问题
  1. 强制删除残留文件

    powershell 复制代码
    # 关闭所有 Node.js 进程
    taskkill /f /im node.exe
    
    # 强制删除 node_modules
    Remove-Item -Recurse -Force node_modules
  2. 清除 npm 缓存

    powershell 复制代码
    npm cache clean --force
第二步:配置 Electron 镜像加速下载

在项目根目录创建或修改 .npmrc 文件:

ini 复制代码
# .npmrc 配置内容
set electron_mirror="https://npmmirror.com/mirrors/electron/"
set electron_custom_dir="{{ version }}"
第三步:安全重装步骤
  1. 使用镜像安装 Electron

    powershell 复制代码
    # 设置临时环境变量
    $env:ELECTRON_MIRROR="https://npmmirror.com/mirrors/electron/"
    $env:ELECTRON_CUSTOM_DIR="{{ version }}"
    
    # 单独安装 Electron
    npm install electron@25.4.0 --ignore-scripts
  2. 手动执行安装脚本

    powershell 复制代码
    cd node_modules/electron
    node install.js
  3. 完整安装项目依赖

    powershell 复制代码
    cd ../.. # 回项目根目录
    npm install

备选方案(若镜像仍不稳定)

方法 1:手动下载二进制文件

  1. 访问镜像地址下载:

    bash 复制代码
    https://npmmirror.com/mirrors/electron/25.4.0/electron-v25.4.0-win32-x64.zip
  2. 创建缓存目录:

    powershell 复制代码
    mkdir %USERPROFILE%\AppData\Local\electron\Cache
  3. 将下载的 ZIP 文件放入缓存目录并重命名为:

    python 复制代码
    electron-v25.4.0-win32-x64.zip

方法 2:使用离线安装模式

powershell 复制代码
npm config set offline true
npm install --offline

预防措施

  1. 永久镜像配置(推荐):

    powershell 复制代码
    # 全局配置
    npm config set electron_mirror "https://npmmirror.com/mirrors/electron/"
    npm config set electron_custom_dir "{{ version }}"
  2. 安装前预下载

    powershell 复制代码
    npx @electron/get download --version=25.4.0
  3. 使用 yarn 替代 npm

    powershell 复制代码
    yarn config set "electron_mirror" "https://npmmirror.com/mirrors/electron/"
    yarn add electron

如果仍遇到问题,可尝试切换镜像源至清华源:

ini 复制代码
set electron_mirror="https://mirrors.tuna.tsinghua.edu.cn/electron/"
相关推荐
凉介Nova11 小时前
Electron 应用体积从 190MB+ 到 90MB:一次「release 目录反推」的瘦身实战(electron-builder + Vite)
electron
winfredzhang11 小时前
零基础打造轻量级桌面备忘录:Electron 核心技术实战
前端·javascript·electron·备忘录
放逐者-保持本心,方可放逐12 小时前
electron 中的那些事(很关键)-核心要点补充
前端·javascript·electron
每日出拳老爷子1 天前
【客户端方案】Electron / 原生客户端在内网会议中的取舍与坑点
服务器·electron·远程工作·流媒体·视音频
南山老沙1 天前
VUE 项目通过electron-builder打包成桌面应用
electron·vue
贺今宵2 天前
electron-vue无网络环境,读取本地图片/文件展示在页面vue中protocol
前端·javascript·electron
xiaoyan20152 天前
2026原创Electron39.2+Vue3+DeepSeek从0-1手搓AI模板桌面应用Exe
vue.js·electron·deepseek
「、皓子~3 天前
AI 创作系列(34)海狸IM桌面版 v1.1 正式发布:Vite + Electron 性能优化与体验升级
前端·人工智能·electron·开源·开源软件·im
光影少年3 天前
electron通信方式有哪些?
前端·javascript·electron
学海无涯,行者无疆4 天前
把 Web App 装进客户端——Tauri框架实战:托盘功能、消息通知、构建安装程序
electron·tauri·单例运行·web应用客户端化·托盘通知·tauri实战·tauri框架