【问题标题】:Npm not working (openSSL configuration error windows10x64)Npm 不工作(openSSL 配置错误 windows10x64)
【发布时间】:2022-06-16 03:16:13
【问题描述】:

每当我在 powershell 中尝试 npm 命令时都会收到此错误:

**~ $ node -v
v17.1.0
~ $ npm -v
OpenSSL configuration error:
74240000:error:80000003:system library:BIO_new_file:No such process:c:\ws\deps\openssl\openssl\crypto\bio\bss_file.c:67:calling fopen(C:\Program Files\PostgreSQL\psqlODBC\etc\openssl.cnf, rb)
74240000:error:10000080:BIO routines:BIO_new_file:no such file:c:\ws\deps\openssl\openssl\crypto\bio\bss_file.c:75:
74240000:error:07000072:configuration file routines:def_load:no such file:c:\ws\deps\openssl\openssl\crypto\conf\conf_def.c:179:
OpenSSL configuration error:
A8250000:error:80000003:system library:BIO_new_file:No such process:c:\ws\deps\openssl\openssl\crypto\bio\bss_file.c:67:calling fopen(C:\Program Files\PostgreSQL\psqlODBC\etc\openssl.cnf, rb)
A8250000:error:10000080:BIO routines:BIO_new_file:no such file:c:\ws\deps\openssl\openssl\crypto\bio\bss_file.c:75:
A8250000:error:07000072:configuration file routines:def_load:no such file:c:\ws\deps\openssl\openssl\crypto\conf\conf_def.c:179:**

我注意到的另一件事是节点一定更新不正确,因为即使它给了我一个版本,我也无法卸载它,也无法在我的程序文件中找到安装文件。我完全不知所措,即将将我的计算机重置为默认值。我想修复它,但网上的所有内容都告诉我使用 npm,这本身是不可能的。

我曾尝试使用“set OpenSSL”命令清空文件或虚拟文件,但它似乎没有做任何事情。

【问题讨论】:

  • 你在执行什么命令? node -v v17.1.0 / npm -v OpenSSL 因为它们都是无效/未经验证的。 node -v & npm -v 是命令。 openssl version 输出什么?
  • 能够通过安装节点的 LTS 版本来解决这个问题。从网站。我的机器上似乎 17v 有一些问题。
  • 我使用的是 node -v 和 npm -v,我不确定 openssl 版本。

标签: node.js npm openssl


【解决方案1】:

进入Windows控制面板点击卸载程序,选择Node.js并点击卸载选项卡,成功卸载node和npm。重新启动系统。 然后去https://nodejs.org/en/下载16.13.0 LTS版本并安装

【讨论】:

  • 是的,出于某种原因,这起初不想为我工作。可能是由于上次 Windows 更新,但节点不想出现在我的可卸载程序列表中,即使我的 cmd 能够给我版本号并接受一些节点命令。但我同意安装 LTS 版本比 17 版对我的系统更友好。
  • 是的,重新安装 NodeJs 对我也有帮助。我正在使用 NVM,所以我只是 NVM 安装了另一个版本的 Node 并使用它。
【解决方案2】:

请使用 PowerShell 检查环境路径

检查环境路径:

cmd /c echo %PATH%' or 'cmd /c echo %OPENSSL_CONF%

您将获得 C:\Program Files\PostgreSQL\psqlODBC\etc\openssl.cnf 路径,因此请在 PowerShell 上使用以下评论重置 openssl 的环境路径

set OPENSSL_CONF=''

之后,问题将得到解决。

此问题已在 Nodejs GitHub 上发布。 https://github.com/nodejs/node/issues/40547

【讨论】:

    【解决方案3】:

    在 conda 环境中遇到此问题。通过使用下一个命令安装节点修复:conda install -c conda-forge nodejs=16.3.2

    【讨论】:

      【解决方案4】:

      尝试从项目目录中卸载节点。

      npm uninstall node

      很可能您的系统上安装了 2 个不同版本的 Node。

      如果我的解决方案不适合您。尝试从系统中卸载 Node 的其他建议。

      【讨论】:

        【解决方案5】:

        我的解决方案是在这种情况下使用另一个节点版本 15.8.0,您可以尝试使用其他最新版本。当我这样做时,这个 npm 安装正确:

        【讨论】:

          【解决方案6】:

          您唯一要做的就是创建一个名为 openssl.cnf 的新存档 在这条路线上:

          C:\Program Files\PostgreSQL\psqlODBC\etc\openssl.cnf

          保存工作并在 cmd npm --version 中运行

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2016-10-02
            • 2018-03-09
            • 1970-01-01
            • 2015-10-11
            • 2020-09-14
            • 1970-01-01
            • 1970-01-01
            • 2018-07-09
            相关资源
            最近更新 更多