NodeJS npm:重定位错误:/lib 64/libnode.so.93中找到了一个文件夹:符号FIPS_selftest,版本OPENSSL_1_1_0g未在具有链接时间引用的libcrypto.so.1.1文件中定义

d8tt03nd  于 2022-11-04  发布在  Node.js
关注(0)|答案(1)|浏览(4405)

通过yum安装命令安装nodejs、npm和yarn后,每当我尝试运行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和yarn,甚至安装旧版本,但没有结果。我也试过删除openssl,但还是没有用。
谢谢

qyzbxkaa

qyzbxkaa1#

我也遇到过类似的问题,我发现是因为我的系统里有openssl的另一个1. 1. 1版本的源代码,而系统里安装的版本是1. 0. 2;并且我把程序运行库文件搜索路径LD_LIBRARY_PATH设置为1.1.1版本openssl源代码路径,因为openssl前后版本不兼容,系统运行npm时,会自动根据LD_LIBRARY_PATH路径找到openssl的1.1.1版本,所以报错。
解决方案:导出LD_LIBRARY_PATH="",让程序自动查找系统上安装的openssl版本。

相关问题