个人纪录-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/"
相关推荐
不可能片场4 小时前
Electron 发布 正文写入的三条通道与读回口径
前端·electron
不可能片场1 天前
AI视频成片 帧间差分把拼接缝照出来
前端·electron
Noir热爱生活1 天前
deepseek harness,关于桌面版无法打开vscode修复方案
electron·deepseek
Dream-Y.ocean2 天前
鸿蒙PC平台星图遥感适配实战:基于 Electron 壳方案的纯 JavaScript 遥感图像处理引擎开发
javascript·electron·harmonyos
薛定谔的猫-菜鸟程序员2 天前
Electron开发超详细教程(从入门到放弃)
前端·javascript·electron
北城笑笑2 天前
Vue 106 ,上篇:前端桌面端应用实现方案( Electron 框架详细介绍,Vue + Electron )
前端·javascript·vue.js·python·electron
不可能片场3 天前
Electron 发布 别拿 load 事件当页面就绪
前端·electron
lpfasd1234 天前
pywebview与Electron
前端·javascript·electron
甘晴void6 天前
我给 Magpie 做了个 macOS 桌宠:106 段动画,请求一多就亮灯
macos·electron·开源·deepseek·桌面宠物·magpie
还好还好不是吗6 天前
我把开源项目托管给 AI 了:一句话提需求,AI 自己开发、自己测试、自己提 PR
electron