逆水寒PC手游客户端点击后无任何反应和报错的修复方式

逆水寒PC手游客户端点击后无任何反应和报错的修复方式

调试方式

因为在win系统中点击后无任何报错出现,所以说我们选择使用cmd运行程序,这样可以看到具体的异常信息

D:\逆水寒手游启动器>LootHoarder.exe

D:\逆水寒手游启动器>
electron: --openssl-legacy-provider is not allowed in NODE_OPTIONS

D:\逆水寒手游启动器>set NODE_OPTIONS=

D:\逆水寒手游启动器>LootHoarder.exe

D:\逆水寒手游启动器>
[0][info]17:20:45.998 鈥?[flag] cf6b3da55d90fc3960dcc9b2394ea9b5
s_ServerName: LHMW_NSHM_Main
press Ctrl+c to quit ... ...

根据以上信息我们可以得知错误为electron: --openssl-legacy-provider is not allowed in NODE_OPTIONS

Electron 报错:--openssl-legacy-provider is not allowed in NODE_OPTIONS 的原因与解决方案

一、问题描述

这意味着 Electron 无法启动,因为环境变量 NODE_OPTIONS 中包含了它不支持的选项 --openssl-legacy-provider

二、问题成因

1. 什么是 NODE_OPTIONS

NODE_OPTIONS 是 Node.js 提供的一个环境变量,用于在启动时传递参数给 Node.js 或 Electron 应用。比如:

set NODE_OPTIONS=--max-old-space-size=4096

表示在运行 Node 应用时,允许分配更多内存。

2. --openssl-legacy-provider 的作用

在 Node.js 17 及以上版本中,由于升级到了 OpenSSL 3.0,某些旧的加密算法(如 MD4)默认被禁用了。为了解决这类兼容性问题,开发者可以临时在 NODE_OPTIONS 中加上:

--openssl-legacy-provider

从而启用旧版加密算法。

3. Electron 不允许该选项

Electron 使用了自己封装的 Node.js 内核,在安全性方面更为严格。--openssl-legacy-provider 被视为不安全的遗留选项,因此 Electron 明确禁止在 NODE_OPTIONS 中使用它。

这就是出现该错误的根本原因。

三、解决方法

方法一:临时清除 NODE_OPTIONS

在命令行中手动运行程序前,先清除该环境变量:

set NODE_OPTIONS=

然后再执行你需要运行的 .exe 文件或启动命令:

your_program.exe

这适用于临时测试或调试场景。

方法二:永久移除环境变量设置

如果你的系统环境变量中永久设置了 NODE_OPTIONS,可以通过以下步骤清除:

  1. 打开“控制面板”或右键“此电脑” → 属性 → 高级系统设置。
  2. 点击“环境变量”按钮。
  3. 在“系统变量”或“用户变量”中,查找名为 NODE_OPTIONS 的变量。
  4. 如果存在且包含 --openssl-legacy-provider,请删除整个变量或将其值清空。
  5. 点击“确定”保存设置。

完成上述操作后,重新运行 Electron 应用,问题应当解决。

总结一下,这个错误是nodejs导致的,我怀疑是我在安装最近的claudecode时,改变参数导致的,网上找了好多没相同案例,自行排查了一下,记录一下以供参考。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值