尝鲜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 正式过期!

相关推荐
鹏北海-RemHusband19 分钟前
从零到一:基于 micro-app 的企业级微前端模板完整实现指南
前端·微服务·架构
LYFlied19 分钟前
AI大时代下前端跨端解决方案的现状与演进路径
前端·人工智能
光影少年23 分钟前
AI 前端 / 高级前端
前端·人工智能·状态模式
一位搞嵌入式的 genius24 分钟前
深入 JavaScript 函数式编程:从基础到实战(含面试题解析)
前端·javascript·函数式
anOnion35 分钟前
构建无障碍组件之Alert Dialog Pattern
前端·html·交互设计
choke23343 分钟前
[特殊字符] Python 文件与路径操作
java·前端·javascript
云飞云共享云桌面1 小时前
高性能图形工作站的资源如何共享给10个SolidWorks研发设计用
linux·运维·服务器·前端·网络·数据库·人工智能
Deng9452013141 小时前
Vue + Flask 前后端分离项目实战:从零搭建一个完整博客系统
前端·vue.js·flask
威迪斯特1 小时前
Flask:轻量级Web框架的技术本质与工程实践
前端·数据库·后端·python·flask·开发框架·核心架构
行者无疆_ty1 小时前
什么是Node.js,跟OpenCode/OpenClaw有什么关系?
人工智能·node.js·openclaw