Electron项目依赖管理:最佳实践与常见错误

embedded/2024/12/22 16:23:29/

问题一

问题描述:

输入命令 pnpm add electron 后, electron 包在执行 postinstall 脚本时,尝试从网络上下载 Electron 二进制文件,但由于网络问题(如连接超时或代理设置问题),导致下载失败。

λ pnpm add electron
Packages: +75
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Progress: resolved 75, reused 75, downloaded 0, added 75, done
node_modules/.pnpm/electron@31.3.1/node_modules/electron: Running postinstall script, failed in 23.1s
.../node_modules/electron postinstall$ node install.js
│ RequestError: connect ETIMEDOUT 20.205.243.166:443
│     at ClientRequest.<anonymous> (G:\wokespace\dev\DesktopApp\electron\electron-app\node_modules\.pnpm\g…
│     at Object.onceWrapper (node:events:634:26)
│     at ClientRequest.emit (node:events:531:35)
│     at origin.emit (G:\wokespace\dev\DesktopApp\electron\electron-app\node_modules\.pnpm\@szmarczak+http…
│     at TLSSocket.socketErrorListener (node:_http_client:500:9)
│     at TLSSocket.emit (node:events:519:28)
│     at emitErrorNT (node:internal/streams/destroy:169:8)
│     at emitErrorCloseNT (node:internal/streams/destroy:128:3)
│     at process.processTicksAndRejections (node:internal/process/task_queues:82:21)
│     at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1605:16)
└─ Failed in 23.1s at G:\wokespace\dev\DesktopApp\electron\electron-app\node_modules\.pnpm\electron@31.3.1\node_modules\electronELIFECYCLE  Command failed with exit code 1.

解决方案:

设置 electron 镜像源,使用国内的镜像源来加速下载,尤其是在网络连接较慢或者有防火墙的情况下。

npm config set electron_mirror "https://npmmirror.com/package/electron/"

问题二

问题描述:在设置npm 配置时,报错

λ npm config set electron_mirror "https://npmmirror.com/package/electron/"
npm ERR! `electron_mirror` is not a valid npm option

解决方案:

执行 npm config list 命令,查看当前的配置信息。

λ npm config list
; "user" config from C:\Users\Administrator\.npmrc//registry.npmjs.org/:_authToken = (protected)
cache = "G:\\packages\\npm\\cache"
home = "https://npmmirror.com"
prefix = "G:\\packages\\npm\\global"
registry = "https://registry.npmmirror.com/"; node bin location = G:\nodejs\node.exe
; node version = v18.19.1
; npm local prefix = G:\wokespace\dev\DesktopApp\electron\electron-app
; npm version = 10.2.4
; cwd = G:\wokespace\dev\DesktopApp\electron\electron-app
; HOME = C:\Users\Administrator
; Run `npm config ls -l` to show all defaults.

找到这个文件 .npmrc 地址 ; "user" config from C:\Users\Administrator\.npmrc , 然后打开新增一行:

electron_mirror=https://npmmirror.com/mirrors/electron/

可以通过 https://registry.npmmirror.com/binary.html 查看都有哪些二进制包

注意一定是 https://npmmirror.com/mirrors/${二进制包的名称}/,比如 https://npmmirror.com/mirrors/node-sass/

问题三

问题描述:

输入命令 npm install electron --save-dev 后,出现以下错误。

λ npm install electron --save-dev
npm ERR! Cannot read properties of null (reading 'matches')

解决方案:

  • 1.清理 npm 缓存
λ npm cache clean --forcenpm WARN using --force Recommended protections disabled.
  • 2.验证并重建 npm缓存
λ npm cache verifyCache verified and compressed (G:\packages\npm\cache\_cacache)
Content verified: 0 (0 bytes)
Index entries: 0
Finished in 0.013s
  • 3.直接删除 node_modules 目录,并再次运行 npm install
npm install --registry=https://registry.npmmirror.com

http://www.ppmy.cn/embedded/97934.html

相关文章

FreeRTOS 快速入门(三)之任务管理

目录 一、任务创建与删除1、什么是任务2、创建任务3、任务的删除 二、任务优先级和 Tick1、任务优先级2、Tick3、 修改优先级 三、任务状态1、阻塞状态(Blocked)2、暂停状态(Suspended)3、就绪状态(Ready)4、状态转换 四、Delay 函数五、空闲任务及其钩子函数1、介绍2、使用钩子…

C#基于SkiaSharp实现印章管理(6)

除了文本&#xff0c;印章设计模块的绘图功能已经差不多了。在实现文本绘制之前&#xff08;主要是文本绘制相对比较麻烦&#xff09;&#xff0c;本文先实现将印章导出为pdf或图片的功能。   不论是在控件中绘制&#xff0c;还是在图片或pdf文件中绘制印章&#xff0c;对Ski…

5.1、生成树协议stp

一、广播风暴 广播风暴&#xff08;Broadcast Storm&#xff09;是网络中的一种现象&#xff0c;通常发生在局域网&#xff08;LAN&#xff09;中。当网络中的交换机或路由器配置错误&#xff0c;或环路没有被有效控制时&#xff0c;广播帧会在网络中无限制地传播&#xff0c;…

安全基础学习-SM4加密算法

SM4 是一种中国国家密码标准(GB/T 32907-2016)中定义的分组加密算法,又称为“中国商用密码算法SM4”。它是由中国国家密码管理局发布的,并广泛应用于金融、电子商务和其他需要数据加密的场景。 1、SM4 算法概述 SM4 是一种对称加密算法,意味着加密和解密使用相同的密钥。…

深度学习,创新点,模型改进

深度学习 添加创新点 ①在现有模型上添加自己的创新点 ②或者混合多个模型等等 ③提供创新点 添加各种注意力机制&#xff0c;各种模型block。 机器学习&#xff0c;目标检测&#xff0c;目标识别&#xff0c;语义分割&#xff0c;GAN&#xff0c; CNN等(只要是深度学习均可) 编…

软件运维实施维保方案(Doc完整版原件)

1.项目情况 2.服务简述 2.1服务内容 2.2服务方式 2.3服务要求 2.4服务流程 2.5工作流程 2.6业务关系 2.7培训 3.资源提供 3.1项目组成员 3.2服务保障 软件全套资料部分文档清单&#xff1a; 工作安排任务书&#xff0c;可行性分析报告&#xff0c;立项申请审批表&#xff0c;产…

PHP初级栈进阶篇

小刘小刘&#xff0c;下雨不愁 (收藏&#xff0c;关注不迷路) 这里我会更新一些php进阶知识点&#xff0c;新手想再进一步可以有个方向&#xff0c;也有个知识图谱的普及 当然本篇不止写技术 会涉及一些进阶路线 我也是在这里积累&#xff0c;希望和同行者一起进步为后来者…

运维学习————Redis在Linux(Centos7)单机部署和集群部署

目录 一、单机部署 1、软件准备 2、安装配置 3、启动Redis 二、Redis集群 2.1、主从模式 2.1.1、作用 2.1.2、规划图 2.1.3、具体配置 准备工作 主从配置 启动测试 2.1.4、主从复制原理 主从全量复制 主从增量同步(slave重启或后期数据变化) 2.1.5、缺点 2.2、哨兵…