Electron 安装报错RequestError: certificate has expired 问题解决
问题描述 确认淘宝源更换为最新地址,同样尝试了清空pnpm缓存、清除代理、更换镜像、跳过SSL验证,仍然是RequestError: certificate has expired…
//配置最新的淘宝镜像源
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 查看是否成功。
//配置 单独为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.安装
pnpm install <模块> // 简写为 pnpm i
pnpm install <模块>@<version> //特定版本 pnpm install electron@v29.0.1
2.卸载
pnpm uninstall <模块> //简写为 pnpm rm <模块>
-
官方源:
- npm 官方源:registry.npmjs.org/
- Yarn 默认源:registry.yarnpkg.com/ (尽管 Yarn 有自己的协议层,但底层仍然是基于 npm registry 的)
-
国内镜像源:
- 淘宝 NPM 镜像:registry.npmmirror.com/ (中国最大的 npm 镜像源,由阿里巴巴集团维护)
- 腾讯云 NPM 镜像:mirrors.cloud.tencent.com/npm/
- cnpmjs 镜像:r.cnpmjs.org/ (又名 cnpm,是由淘宝团队维护的另一个 npm 镜像服务)
- 网易 NPM 镜像:npm.coding.net/
- 环境云 NPM 镜像:mirror.envcloud.cn/repository/…
- 七牛云 NPM 镜像:npm.qiniu.com/
-
其他公共镜像源:
- 中科大镜像:mirrors.ustc.edu.cn/npm/
- 欧洲镜像源:registry.npmjs.eu/