【NodeJs】【npm】npm安装electron报错

解决问题

npm安装electron报错一般来说是镜像源的问题。
electron的镜像源与一般的 vue 之类的镜像源地址不一样需要单独配置。
npm读取的全局配置一般是在
C:\Users\{用户}\.npmrc 这个配置文件中。
如果你找不到你的配置文件可以执行如下命令,

# 执行后会直接用txt打开你的配置文件 进行修改保存即可
npm config edit
cache=D:\Develop\nodeJs\node_cache
prefix=D:\Develop\nodeJs\node_global
registry=https://registry.npmmirror.com/
electron_mirror=https://npm.taobao.org/mirrors/electron/

上面是我原来的配置文件,由于淘宝的镜像源地址换了,从原来的
https://npm.taobao.org/ 换到了现在的
https://registry.npmmirror.com/ 导致原来可以下载现在不能下载。
因此只需要将上述配置修改成这样即可

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

然后 删除node_modules文件夹,并执行下面命令清除缓存

npm cache clean --force

知识补充

  1. npm 命令补充
# 查看配置  也就是 .npmrc 中的配置
npm config list 
# 查看配置中的某个值  
npm get [key]
# 例如查看依赖源地址  这些key 就是.npmrc中的key
npm get registry

需要注意的是 npm 读取.npmrc 是有优先级的
如果在项目中也存在.npmrc文件 npm 会优先读取 项目中的配置。如果某个key在项目中的.npmrc找不到才会去读取全局的 .npmrc
所以项目希望有一些自己独有的配置时 可以在项目中放上自己的.npmrc
2. .npmrc 中值是什么意思

# npm缓存依赖包的目录
cache=D:\Develop\nodeJs\node_cache
# npm全局安装的目录
prefix=D:\Develop\nodeJs\node_global
# 定义npm的registry,即npm的包下载源
registry=http://registry.npmjs.org/
# 定义npm的代理服务器,用于访问网络
proxy=http://proxy.example.com:8080/
# 定义npm的https代理服务器,用于访问网络
https-proxy=http://proxy.example.com:8080/
# 是否在SSL证书验证错误时退出
strict-ssl=true
# 定义自定义CA证书文件的路径
cafile=/path/to/cafile.pem
# 自定义请求头中的User-Agent
user-agent=npm/{npm-version} node/{node-version} {platform}
# 安装包时是否自动保存到package.json的dependencies中
save=true
# 安装包时是否自动保存到package.json的devDependencies中
save-dev=true
# 安装包时是否精确保存版本号
save-exact=true
# 是否在安装时检查依赖的node和npm版本是否符合要求
engine-strict=true
# 是否在运行脚本时自动将node的路径添加到PATH环境变量中
scripts-prepend-node-path=true
  1. npm 依赖包缓存机制

npm install 之后会在项目中生成 package-lock.json 文件。该文件是用来锁定版本使用的,其中每个依赖下面都有一个integrity 这是一个hash值,通过hash算法生成出来的一个包的摘要。
然后npm会去D:\Develop\nodeJs\node_cache缓存目录下找 是否已经下载过依赖,
如果下载过则 直接从缓存中解压出来,否则就去下载,并更新package-lock.json 和缓存
如下

"node_modules/@babel/parser": {"version": "7.27.7","resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.27.7.tgz","integrity": "sha512-qnzXzDXdr/po3bOTbTIQZ7+TxNKxpkN5IifVLXS+r7qwynkZfPyjZfE7hCXbo7IoO9TNcSyibgONsf2HauUd3Q==","dependencies": {"@babel/types": "^7.27.7"},"bin": {"parser": "bin/babel-parser.js"},"engines": {"node": ">=6.0.0"}},

所以有时担心缓存问题的时候 可以删除 package-lock.json npm就会根据 package.json去下载了。
还有package.json的优先级大于package-lock.json

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/87070.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/87070.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

植物small RNA靶基因预测软件,psRobot

psRoto软件安装 网址 http://omicslab.genetics.ac.cn/psRobot/downloads.php下载和安装 wget http://omicslab.genetics.ac.cn/psRobot/program/WebServer/psRobot_v1.2.tar.gz # tar -zxvf psRobot_v1.2.tar.gz # cd psRobot_v1.2 ## ./configure make make installpsRot…

翻译服务器

基于UDP编程博客里的回显服务器代码,翻译服务只需要改process方法即可 所以我们可以创建一个UdpDictServer直接继承UdpEchoServer然后重写process方法 在重写的方法中完成翻译的过程 代码: package network;import java.io.IOException; import java.net.SocketException; …

初等变换 线性代数

初等变换 介绍了三种初等变换的操作。 初等矩阵 初等矩阵是干嘛的呢?实际上初等矩阵就是我们矩阵的初等操作,每一个对矩阵的初等变换操作都相当于乘上一个初等矩阵。 左乘初等矩阵就相当于对行进行初等操作,右乘则相当于对列进行初等操作。…

Java基础 集合框架 队列架构 双端队列 Deque

双端队列 Deque Deque 方法简介Deque 核心特点Deque实现类 ArrayDequeArrayDeque 构造方法ArrayDeque 的数据结构及实现原理ArrayDeque 方法介绍ArrayDeque 核心特性ArrayDeque 总结ArrayDeque 使用样例代码 Deque实现类 LinkedListDeque实现类 ConcurrentLinkedDeque (非阻塞线…

【Spring】——事务、整合、注解

目录 一.Spring与mybatis的整合 1.配置文件 ​编辑2. 二.事务 1.事务属性 2.传播属性 3.异常属性 4.常见配置 三.注解 1.什么是注解 2.Autowired 1.用户自定义注解 ​编辑​编辑2.JDK类型注入value 3.Bean 1.对象的创建 2.对象创建次数 3.Bean注解的注入 1.自…

Linux 离线下安装gcc、g++

描述 离线时编译Redis、nginx等编译包,需要gcc安装包,评论提醒我 上传补充 操作 1、进入gcc目录,并执行安装命令 rpm -ivh *.rpm --nodeps --force查看版本 gcc -v2、进入gcc-c目录,并执行安装 rpm -ivh *.rpm --nodeps --f…

融智学定律3:流动创造价值仅当跨域协同

关键公式意义: 人流方程中的 α/β 反映城市吸引力不对称性 物流优化中的 η 实现时间价值货币化 金流模型的 σ(⋅) 捕捉市场情绪突变点 信息熵的 ∥gi​−gj​∥ 度量知识势差驱动 当五流在黎曼流形上满足 ∇_μ​T^μν0(能量动量守恒&#xff09…

趣味数据结构之——数组

你们一定都听说过它的故事…… 是的没错,就是一个萝卜一个坑。ಥ◡ಥ 想象一下数组就是那个坑,那么定义数组就是在挖坑。 元素就是萝卜。 坑就在那里(地上),整整齐齐地排在那里。 于是数组最重要的一个特性就显现出来了——随机存取。还…

PR-2025《Scaled Robust Linear Embedding with Adaptive Neighbors Preserving》

核心思想分析 这篇论文的核心思想在于解决线性嵌入(linear embedding)与非线性流形结构之间的不匹配问题。传统方法通过保留样本点间的亲和关系来提取数据的本质结构,但这种方法在某些情况下无法有效捕捉到数据的全局或局部特性。此外&#…

Redis-渐进式遍历

之前使用的keys查找key,一次获取到了所有的key,当key较多时,这个操作就有可能造成Redis服务器阻塞.特别是keys *操作. 于是可以通过渐进式遍历,每次获取部分key,通过多次遍历,既查询到了所有的key,又不会卡死服务器. 渐进式遍历不是通过一个命令获取到所有元素的,而是由一组命…

ISP Pipeline(3):Lens Shading Correction 镜头阴影校正

上一篇文章讲的是:ISP Pipeline(2): Black Level Compensation:ISP Pipeline(2):Black Level Compensation 黑电平补偿-CSDN博客 视频:(4) Lens Shading Correction | Image Signal…

什么是WebAssembly(WASM)

WebAssembly(WASM) 是一种高性能的低级编程语言字节码格式,可在网页和非网页环境中运行,支持多语言编译,运行速度接近原生代码。它在区块链中的作用是:作为智能合约的执行引擎,被多条非以太坊链…

【C++】inline的作用

一、inline的作用 1.1函数内联 作用​:建议编译器将函数调用替换为函数体代码,减少函数调用的开销(压栈/跳转)。​注意​:这只是对编译器的建议,编译器可能忽略(如函数体过大或递归&#xff0…

代码随想录|图论|04广度优先搜索理论基础

广搜的使用场景 广搜的搜索方式就适合于解决两个点之间的最短路径问题。 因为广搜是从起点出发,以起始点为中心一圈一圈进行搜索,一旦遇到终点,记录之前走过的节点就是一条最短路。 当然,也有一些问题是广搜 和 深搜都可以解决…

Xposed框架深度解析:Android系统级Hook实战指南

引言:Android系统定制化的革命性突破 在移动安全研究和系统优化领域,传统的APP修改方案面临​​三重技术瓶颈​​: ​​逆向工程壁垒​​:APK重打包方案需处理签名校验、代码混淆等防护,平均耗时增加200%​​兼容性挑战​​:Android碎片化导致设备适配率不足65%​​功能…

大模型在通讯网络中的系统性应用架构

一、网络架构智能化重构​​ ​​1.1 空天地一体化组网优化​​ 智能拓扑动态调整​​:大模型通过分析卫星轨道数据、地面基站负载及用户分布,实时优化天地一体化网络拓扑。例如,在用户密集区域(如城市中心)自动增强低…

软件测试进阶:Python 高级特性与数据库优化(第二阶段 Day6)

在掌握 SQL 复杂查询和 Python 数据库基础操作后,第六天将深入探索Python 高级编程特性与数据库性能优化。通过掌握 Python 的模块与包管理、装饰器等高级语法,结合数据库索引优化、慢查询分析等技术,提升测试工具开发与数据处理效率。 一、…

【NLP】自然语言项目设计04

目录 04模型验证 代码架构核心设计说明 05运行推理 代码架构核心设计说明 项目展望 项目简介 训练一个模型,实现歌词仿写生成 任务类型:文本生成; 数据集是一份歌词语料,训练一个模型仿写歌词。 要求 1.清洗数据。歌词语料…

数据结构1 ——数据结构的基本概念+一点点算法

数据结构算法程序设计 什么是数据结构 数据(data):符号集合,处理对象。 数据元素(data element),由数据项(data item) 组成。 关键字(key)识别…

每日八股文7.1

每日八股-7.1 网络1.能说说 TCP 报文头部都包含哪些关键字段吗?2.TCP 是如何确保数据传输的可靠性的?你能详细谈谈吗?3.你能解释一下 TCP 滑动窗口是如何设计的?它主要解决了什么问题?4.TCP 协议的拥塞控制是如何实现的…