通过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,但还是没有用。
谢谢
1条答案
按热度按时间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版本。