Electron 项目时,经常会遇到 npm install 失败、下载 Electron 二进制文件超时 (ETIMEDOUT) 或 SSL 证书验证失败等问题。这通常是由于网络环境和默认的 npm/Electron 官方镜像源不稳定造成的。本教程将指导你如何配置 npm 和 Electron 的镜像,以使用更稳定、更快的国内镜像服务。

解决办法概述

1、打开 npm 配置文件

在命令行(或终端)中输入以下命令,它将使用你的默认文本编辑器打开 npm 的全局配置文件。

npm config edit

2、添加或修改镜像配置:

在打开的配置文件中,查找并修改(或在空白处添加)以下三行配置。

registry=https://registry.npmmirror.com
electron_mirror=https://cdn.npmmirror.com/binaries/electron/
electron_builder_binaries_mirror=https://npmmirror.com/mirrors/electron-builder-binaries/

保存并关闭该配置文件。

3、清理项目依赖并重新安装

  • 重启命令行工具: 关闭当前正在使用的命令行或终端窗口,并重新打开一个新的命令行窗口。强烈建议:以管理员身份运行,特别是 Windows 用户,以避免权限问题。

  • 导航到你的项目目录: 使用 cd 命令进入你的 Electron 项目的根目录。例如:

cd D:\your-project-directory
  • 彻底清理旧的依赖文件: 为了确保所有旧的、可能损坏的依赖被移除,我们需要删除 node_modules 文件夹和 package-lock.json 文件。

# Windows 用户请使用以下命令
rd /s /q node_modules
del package-lock.json

# 如果是 macOS/Linux 用户,请使用
rm -rf node_modules
rm package-lock.json
  • 清除 npm 缓存:

npm cache clean --force
  • 重新安装所有项目依赖: 现在,运行 npm install 命令来重新安装所有依赖。此时,npm 将使用你配置的镜像源来下载所有包,包括 Electron 的二进制文件。

npm install

常见问题与提示

  • 权限问题 (EPERM): 如果在删除 node_modules 时遇到权限错误,请务必确保你的命令行是以管理员身份运行的,或者在重启电脑后再次尝试删除。

  • 网络代理: 如果你处于企业网络环境并使用了代理,可能还需要配置 npm 的代理设置:

npm config set proxy http://your_proxy_address:port

npm config set https-proxy http://your_proxy_address:port

请将 your_proxy_address:port 替换为你的实际代理地址和端口。