微信开发者工具 扩展宿主意外终止 --openssl-legacy-provider is not allowed in NODE_OPTIONS


一、背景

微信开发者工具突然报错提示扩展宿主意外终止。百度没有找到问题,最后联系微信团队的开发者远程帮忙定位到问题了,这里记录下,希望可以帮到你。

微信开发者工具 内存限制 微信开发者工具扩展_微信开发者工具

电脑环境:win10 64位 专业版本

二、问题猜想

猜想1:发生问题时,以为是开发工具升级不兼容问题,试了这种版本都不行。

猜想2:根据微信团队的开发者说可能是:

  • 有些更新包涉及对 .NEt Framework 的更新,导致编译的最简单的 C# exe 也会直接卡死
  • win10 21H2 系统版本开发者工具卡死(文件监听 ms-wx-file-watcher的进程卡死导致)

根据他提供的链接:开发者工具启动异常自助解决方案 | 微信开放社区 我按文档的要求把系统的更新都卸载了,各种折腾都没有搞定。

微信开发者工具 内存限制 微信开发者工具扩展_微信开发者工具 内存限制_02

 

微信开发者工具 内存限制 微信开发者工具扩展_前端_03

上面的猜想都没有通过,还一度想干脆直接重装系统算了,还好联系到这位大牛,一顿操作猛如虎,远程看日志下,定位到了这个报错:

微信开发者工具 内存限制 微信开发者工具扩展_微信开发者工具_04

看到这个 --openssl-legacy-provider is not allowed in NODE_OPTIONS  想起了我前两天设置的系统环境变量和这个差不多,估计是这个的影响。

三、问题原因

 开发工具自己集成的node v1.6.x 报错无法执行,导致node不能执行的原因是我设置了一个系统环境变量。

微信开发者工具 内存限制 微信开发者工具扩展_微信开发者工具 内存限制_05

我本地装的node版本是v18.4.0,这个高版本需要设置这个变量不然在使用npm时会报错。

四、解决方案

1. 去掉这个系统环境变量,降低本地的node.js 到1.6.x版本

NODE_OPTIONS=--openssl-legacy-provider

 2. 坐等官方更新兼容 node.js 1.8.x版本的安装包

五、最后

虽然过程很曲折,总算是不用重装系统了。我遇到的情况是这样的希望能给你点帮助,也许你的遇到的情况也许不是这个原因导致的,也许这个思路让你定位到问题。

如果你遇到了问题可以看下开发工具的日志,也许能找到线索吗,查看方法打开菜单:微信开发者工具-》调试-》调试微信开发者工具。