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

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

问题一

问题描述:

输入命令 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

相关文章:

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

问题一 问题描述: 输入命令 pnpm add electron 后&#xff0c; electron 包在执行 postinstall 脚本时&#xff0c;尝试从网络上下载 Electron 二进制文件&#xff0c;但由于网络问题&#xff08;如连接超时或代理设置问题&#xff09;&#xff0c;导致下载失败。 λ pnpm a…...

华为数通路由交换HCIP/HCNP

2017-2022年软考高级网络规划设计师真题解析视频&#xff01;软考复习一定要多做历年真题&#xff01; 2022年软考网络规划设计师真题解析_哔哩哔哩_bilibili 2024年5月软考网络工程师真题解析合集&#xff0c;考后估分版【综合知识案例分析】 2024年5月软考网络工程师真题解…...

搜索面试题

1、目前怎么构建样本的&#xff1f;如果排序中第5个被点了&#xff0c;前面的作为负样本&#xff0c;后面的不要怎么样&#xff1b;为什么不好&#xff0c;为什么好。 点击作为负样本&#xff0c;曝光未点击作为负样本&#xff1b; 可以这样理解。您提到的排序中第5个被点的对…...

WPF学习(8) --Windows API函数的使用

一、API函数的介绍 1.FindWindow函数 [DllImport("user32.dll", CharSet CharSet.Auto)]public static extern IntPtr FindWindow(string lpClassName, string lpWindowName); 功能: FindWindow函数用于根据窗口的类名和窗口名称查找窗口的句柄&#xff08;IntPtr…...

Linux系统-用户账号文件

文章目录 文件一&#xff08;passwd&#xff09; 文件二&#xff08;shadow&#xff09; 加密密码部分 举例理解 文件三&#xff08;gshadow&#xff09; 文件四&#xff08;group&#xff09; 文件五&#xff08;skel&#xff09; 文件六&#xff08;login.defs&#…...

docker配置国内镜像加速

docker配置国内镜像加速 由于国内使用docker拉取镜像时&#xff0c;会经常出现连接超时的网络问题&#xff0c;所以配置Docker 加速来使用国内 的镜像加速服务&#xff0c;以提高拉取 Docker 镜像的速度。 1、备份docker配置文件 cp /etc/docker/daemon.json /etc/docker/da…...

C语言实现排序之堆排序算法

一、堆排序算法 基本思想 堆排序是一种比较有效的排序方法&#xff0c;其基本思想是&#xff1a; 构建最大堆&#xff1a;首先将待排序的数组构建成一个最大堆&#xff0c;即对于每个非叶子节点&#xff0c;它的值都大于或等于其子节点的值。排序&#xff1a;然后将堆顶元素…...

【STM32 Blue Pill编程】-外部中断配置及使用

外部中断配置及使用 文章目录 外部中断配置及使用1、中断介绍2、STM32中的中断3、硬件准备及接线4、GPIO配置5、代码实现在本文中,我们将介绍如何使用 STM32Cube IDE 中的 HAL 库配置和处理外部中断。 我们将通过一个带有按钮和 LED 的示例来演示这一点。 读完本文后,您将能够…...

MySQL 安装与配置教程:单机、主从复制与集群模式

目录 MySQL 简介MySQL 安装MySQL 基础配置MySQL 主从复制配置MySQL 集群配置总结 1. MySQL 简介 MySQL 是一个广泛使用的关系型数据库管理系统&#xff0c;具有高性能、高可靠性和易用性等特点。它支持多种部署模式&#xff0c;包括单机模式、主从复制模式&#xff08;用于高…...

JavaEE 的相关知识点(一)

一、过滤器 过滤器&#xff08;Filter&#xff09;是一个用于对请求和响应进行预处理的组件。过滤器可以在 Java Servlet 规范中使用&#xff0c;通常用于执行一些通用的任务 1、过滤器的作用 过滤器是一种javaEE规范中定义的一种技术&#xff0c;可以让请求达到目标servlet之…...

使用Python实现深度学习模型:智能医疗影像识别与诊断

介绍 智能医疗影像识别与诊断是现代医疗技术的重要应用,通过深度学习模型,可以自动分析和识别医疗影像,提高诊断的准确性和效率。本文将介绍如何使用Python和深度学习技术来实现智能医疗影像识别与诊断。 环境准备 首先,我们需要安装一些必要的Python库: pip install …...

24.给定一个链表,实现一个算法交换每两个相邻节点并返回其头部。要求不能修改列表节点中的值,只能更改节点本身。

24. Swap Nodes in Pairs 题目 给定一个链表,交换每两个相邻节点并返回其头部。要求不能修改列表节点中的值,只能更改节点本身。 Example: Given 1->2->3->4, you should return the list as 2->1->4->3....

Python 通过UDP传输超过64k的信息

Python 通过UDP传输超过64k的信息 在网络编程中&#xff0c;UDP&#xff08;用户数据报协议&#xff09;是一种常用的传输协议。与TCP不同&#xff0c;UDP是无连接的&#xff0c;并且不保证数据包的顺序、完整性及交付。尽管如此&#xff0c;UDP因其较低的延迟和开销而被广泛应…...

微服务设计原则——高性能:批量

能批量就不要并发。 如果调用方需要调用我们接口多次才能进行一个完整的操作&#xff0c;那么这个接口设计就可能有问题。 比如获取数据的接口&#xff0c;如果仅仅提供getData(int id)接口&#xff0c;那么使用方如果要一次性获取 20 个数据&#xff0c;它就需要循环遍历调用…...

C:指针学习-指针变量—学习笔记

今日伊雷娜&#xff1a; 目录 前言&#xff1a; 1、字符指针变量 1.1 使用字符指针存放字符 1.2 使用字符指针变量存放字符串 2、数组指针变量 2.1 什么是数组指针变量&#xff1f; 2.2 数组指针变量初始化 2.3 关于数组指针类型的解析 3、函数指针变量 3.1 函数地址 …...

【MySQL 07】表的增删查改 (带思维导图)

文章目录 &#x1f308; 一、insert 添加数据⭐ 1. 单行数据 全列插入⭐ 2. 多行数据 指定列插入⭐ 3. 插入否则更新⭐4. 插入否则替换 &#x1f308; 二、select 查询数据⭐ 1. select 列&#x1f319; 1.1 全列查询&#x1f319; 1.2 指定列查询&#x1f319; 1.3 查询字段…...

快速上手Git

Git相关概念 Git是一个开源的分布式版本控制系统&#xff0c;由Linus Torvalds在2005年创建&#xff0c;用于有效、高速地处理从小到大的项目版本管理。它是由 Linux 之父 Linus Torvalds 开发的&#xff0c;并已经成为了现代软件开发领域中最流行的版本控制系统之一。 git的工…...

RTC时钟测试

1. 基础知识 Linux 的系统时间有时跟硬件时间是不同步的。 Linux时钟分为系统时钟(System Clock)和硬件(Real Time Clock&#xff0c;简称RTC)时钟。系统时钟是指当前Linux Kernel中的时钟&#xff0c;而硬件时钟则是主板上由电池供电的时钟&#xff0c;这个硬件时钟可以在BIO…...

大数据技术——实战项目:广告数仓(第六部分)报表数据导出至clickhouse

目录 第11章 报表数据导出 11.1 Clickhouse安装 11.2 Clickhouse建表 11.2.1 创建database 11.2.2 创建table 11.3 Hive数据导出至Clickhouse 第11章 报表数据导出 由于本项目最终要出的报表&#xff0c;要求具备交互功能&#xff0c;以及进行自助分析的能力&#xff0c;…...

Android studio模拟制作-简易的订餐交易小案例

一、最终呈现效果 订餐支付小案例效果 二、布局设计activity_main.xml <?xml version"1.0" encoding"utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android"http://schemas.android.com/apk/res/android"xml…...

从FM收音机到5G基站:拆解DDS技术如何悄悄改变我们的通信设备

从FM收音机到5G基站&#xff1a;拆解DDS技术如何悄悄改变我们的通信设备 上世纪90年代&#xff0c;当人们第一次在车载收音机上按下"自动搜台"按钮时&#xff0c;很少有人意识到这个流畅体验背后隐藏着一项革命性技术——直接数字频率合成&#xff08;DDS&#xff09…...

从零到告警:用Prometheus+SNMP监控华为交换机,并配置Grafana看板与告警规则

从零构建华为交换机智能监控体系&#xff1a;PrometheusSNMP实战指南 当机房里的华为交换机突然宕机时&#xff0c;运维团队往往要面对业务部门的连环追问。传统的人工巡检方式就像用体温计量火山喷发——既滞后又无力。本文将手把手带您搭建从数据采集到告警响应的完整监控闭环…...

TVBox 最新版本 | 接口持续更新 | 追剧稳定不失效

分享一个自用很久、一直在持续维护更新的 TVBox 版本&#xff0c;主打稳定、流畅、长期可用&#xff0c;接口会定期更新&#xff0c;避免失效问题。 &#x1f525;资源特点 精准区分 64 位新设备 / 32 位老设备&#xff0c;安装更适配全设备兼容&#xff1a;电视、盒子、手机…...

测试岗真的是“青春饭”吗?40岁资深测试专家的职业复盘

在IT行业的诸多岗位中&#xff0c;软件测试岗常常被贴上“青春饭”的标签。不少从业者&#xff0c;尤其是刚入行的年轻人&#xff0c;总会在某个深夜陷入焦虑&#xff1a;“我到了35岁、40岁&#xff0c;还能在这个岗位上立足吗&#xff1f;”作为一名在测试领域深耕20年&#…...

ncmdumpGUI:专业音频解密工具实现网易云音乐跨平台播放自由

ncmdumpGUI&#xff1a;专业音频解密工具实现网易云音乐跨平台播放自由 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换&#xff0c;Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 在数字音乐时代&#xff0c;平台间的格…...

体验 Taotoken 官方价折扣活动对个人开发者月度支出的实际影响

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 体验 Taotoken 官方价折扣活动对个人开发者月度支出的实际影响 作为一名独立开发者&#xff0c;我日常需要调用多种大模型 API 来完…...

Linux入门指南:从内核到终端,掌握核心命令与文件操作

1. 从内核到终端&#xff1a;理解Linux的运作逻辑很多刚接触Linux的朋友&#xff0c;包括我当年&#xff0c;都会觉得它是一堆神秘命令的集合。输入几个字母&#xff0c;敲下回车&#xff0c;系统就乖乖听话了。但要想真正用好Linux&#xff0c;而不是死记硬背命令&#xff0c;…...

消息平台接入实战:Hermes Agent 实现微信/钉钉日常任务自动化的 4 步配置

1. 微信/钉钉自动化不是“接个API就完事”,而是上下文边界的重新定义 大多数人第一次配置 Hermes Agent 接入微信或钉钉时,会下意识打开官方文档,复制粘贴几行 webhook 配置,跑通一条“收到消息→回复‘你好’”的 demo 就以为大功告成。我试过三次——第一次在测试环境里…...

Claude Code 用户如何通过 Taotoken 配置稳定 API 连接避免封号困扰

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 Claude Code 用户如何通过 Taotoken 配置稳定 API 连接避免封号困扰 基础教程类&#xff0c;针对经常遇到 Claude Code 封号或 Tok…...

Qt实战:手把手教你优化QCustomPlot曲线图,解决坐标轴覆盖数据点的坑

Qt实战&#xff1a;深度优化QCustomPlot曲线图显示效果 在Qt应用开发中&#xff0c;数据可视化是提升用户体验的关键环节。QCustomPlot作为Qt生态中最受欢迎的2D绘图库之一&#xff0c;以其轻量级和高性能著称&#xff0c;被广泛应用于工业控制、科学研究和金融分析等领域。然而…...