尝鲜Electron29.0.1翻车记录,淘宝源不完全背锅

背景:

2024年2月21日,最新的Electron v29.0.1长期支持发布。本着追求更新、更快、更强的原则果断更新,计划5分钟内解决战斗,然而一直报RequestError: certificate has expired的错误。再三确认淘宝源更换为最新地址!!!

pnpm update //修改package.json "electron": "^29.0.1",

pnpm install electron@v29.0.1

甚至大哥我安装 robotjs 模块,你Electron报啥子错,还是 v28.2.4版!都报一样的 RequestError: certificate has expired(请求错误:证书已过期)

〇、一击必中

🫠来自采坑后的自信。
问题描述 确认淘宝源更换为最新地址,同样尝试了清空pnpm缓存、清除代理、更换镜像、跳过SSL验证,仍然是RequestError: certificate has expired...

js 复制代码
//配置最新的淘宝镜像源 
pnpm config set registry https://registry.npmmirror.com

原因 Electron使用了自定义镜像,当使用pnpm、npm、cpnm切换npm镜像源时,ELECTRON_MIRROR的值并没有被修改,例如pnpm 使用pnpm config list查看。

建议 例如淘宝镜像源执行以下两条语句,单独为Electron执行一次配置electron_mirror

多执行 pnpm config list 查看是否成功。

js 复制代码
//配置 单独为Electron执行一次配置`electron_mirror`
pnpm config set electron_mirror https://registry.npmmirror.com/-/binary/electron/

一、翻车收获

1.安装其他模块时,例如pnpm install robotjs时,为啥是electron证书报错

在底层, Electron 的 JavaScript API 绑定了包含默认实现的二进制文件。 每次当你从 npm 注册表安装 electron 时,默认情况下都会在 postinstall 步骤中下载该二进制文件。

你可以设置 ELECTRON_SKIP_BINARY_DOWNLOAD 环境变量为1来阻止二进制文件被下载。 例如,在运行模拟 electron 模块的单元测试时,此功能在连续集成环境中很有用。

下图临时在在当前 CMD 会话中设置环境变量。仅在当前命令行窗口有效,关闭窗口后环境变量失效。

长期设置需要 配置window系统环境变量。

2.pnpm配置环境变量,在修改什么文件

pnpm config set registry registry.npmmirror.com 我这里是 C:\Users\25051.npmrc 被修改,可以观察到修改时间的变化

3.pnpm常见命令

查看pnpm安装位置 pnpm root -g

其他pnpm常见命令 pnpm 的常见命令,全局命令通常加上-g,例如:

全局安装模块pnpm install -g <模块>

1.安装

shell 复制代码
pnpm install <模块> // 简写为 pnpm i
pnpm install <模块>@<version> //特定版本 pnpm install electron@v29.0.1

2.卸载

shell 复制代码
pnpm uninstall <模块> //简写为 pnpm rm <模块>

**3.更新**
```shell pnpm update //根据package.json更新,简写为 pnpm up pnpm update --latest //更新至最新版本 pnpm update <模块> // 更新指定<模块>至最新 ```

4.运行

shell 复制代码
pnpm run <script-name> // 运行 package.json 中的脚本
pnpm <script-name>   //直接运行脚本别名

pnpm run start

pnpm start //以上的简写 pnpm 百万牛牛 //在package.json中配置的别名

4.常见的npm镜像源

常用的 npm 源主要包括以下几个:

  1. 官方源

  2. 国内镜像源

  3. 其他公共镜像源

在国内由于网络问题,使用国内的镜像源可以显著提高下载速度和稳定性。需要注意的是,各个镜像站都承诺定期同步官方源的数据,但由于同步策略和延迟的原因,可能存在一些新版包在官方源上线后一段时间才在镜像源上可用的情况。此外,对于私有模块,仍然需要直接连接到官方源才能获取和发布。

二、参考

1.CSDN。Electron项目使用yarn/npm/cnpm时报certificate has expired...的问题

2.官方.Electron安装指导

3.AI.通义千问

4.2024 年 1 月 22 日,淘宝源 HTTPS 正式过期!

相关推荐
幼儿园技术家9 小时前
原来不用发版也可以做到版本更新
前端·js or ts
亦暖筑序10 小时前
AgentScope-Java 入门:完善 Vue 前端、发布 GitHub,并规划下一步
java·前端·vue.js
北斗落凡尘10 小时前
Vue面试题
前端
程序员黑豆10 小时前
鸿蒙应用开发之父子组件传参:@Param、@Event、@Once 装饰器详解与实战
前端·harmonyos
ClouGence10 小时前
一个人录好的测试用例,团队怎么一起用?
前端·测试
无限压榨切图仔10 小时前
从 Claude Code 切到 Codex:我用 Agent、Skills、MCP 做完了一个内容运营工具
前端·后端
濮水大叔10 小时前
NestJS 与 CabloyJS 的 env/config 架构对比:从环境变量到实例级配置
前端·node.js·nestjs
成都渲染101云渲染666610 小时前
Blender渲染时,纯CPU渲染的设置教程
前端·javascript·blender
董员外10 小时前
RAG 系统进化论(一):纵览 RAG 的发展历程
前端·人工智能·后端
Gauss松鼠会11 小时前
【GaussDB】GaussDB锁阻塞源头查询
java·开发语言·前端·数据库·算法·gaussdb·经验总结