在通过installing命令安装nodejs、npm和纱线之后,每当我尝试运行npm命令时,都会出现以下错误
node: relocation error: /lib64/libnode.so.93: symbol FIPS_selftest, version OPENSSL_1_1_0g not defined in file libcrypto.so.1.1 with link time reference
这发生在安装了最新更新的CentOS 7上。
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
我搜索了这个错误,我找不到任何相关的东西,到目前为止,这是发生在我的第5服务器。
我尝试删除nodejs,npm和纱线,甚至安装旧版本,但没有结果。此外,我还尝试删除openssl,但这并没有帮助。
谢谢
发布于 2022-10-29 09:47:22
我也遇到了一个类似的问题。我发现这是因为我的系统中有另一个版本1.1.1的openssl源代码,系统中安装的版本为1.0.2;我将程序运行时库文件搜索路径LD_LIBRARY_PATH
设置为1.1.1
版本openssl源代码路径,因为openssl之前和之后的版本是不兼容的,当系统运行npm时,它会根据LD_LIBRARY_PATH
路径自动找到1.1.1版本的openssl,因此会报告一个错误。
解决方案:导出LD_LIBRARY_PATH=""
,让程序自动找到安装在系统上的openssl版本
https://stackoverflow.com/questions/71734687
复制相似问题