node: relocation error: node: symbol SSL_set_cert_cb, version libssl.so.10 not defined in file libssl.so.10 with link time reference

node: relocation error: node: symbol SSL_set_cert_cb, version libssl.so.10 not defined in file libssl.so.10 with link time reference

我一直是 运行 网站的 NodeJS 服务器,使用网站的 MEAN 堆栈,已经 运行 几个月了。当我今天早上再次开始工作时,我启动了网站:

nodemon server/app.js

Express 服务器启动正常,但是当我用浏览器连接到它时,我收到以下错误:

node: relocation error: node: symbol SSL_set_cert_cb, version libssl.so.10 not defined in file libssl.so.10 with link time reference [nodemon] failed to start process, "node" exec not found`

当我执行 node server/app.js 时,我得到了相同的 node: relocation error...,但没有得到 ...failed to start process...

我不认为这与我在过去几天所做的任何更改有关,因为我去了另一台 运行 的服务器(代码是几周前的),并且我重启了nodejs进程,然后访问网站就崩溃了。

npm 版本:3.10.10, 节点版本:6.11.3, CentOS Linux 版本 7.3.1611

我在同一环境中遇到了与 ursa 模块相同的问题。

当我的openssl版本是1.0.1e

时,npm rebuild出现如下错误

node-gyp: relocation error: node-gyp: symbol SSL_set_cert_cb, version libssl.so.10 not defined in file libssl.so.10 with link time reference

我将 yum update openssl 的 openssl 更新为 1.0.2k,然后 npm rebuild 不再有该错误。

运行: $yum 更新,如果没有任何效果