XX服务器上的npm不知道咋突然坏了

收到同事的V,说是:182上的npm不知道咋突然坏了,查到这里了,不敢动了。

咱一定要抓重点:突然坏了。这里的突然肯定不是瞬间(大概率是上次可用,这次不可用,中间间隔了多长时间,不好说~_~)。

来吧,登录到服务器上,执行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

libcrypto.so.1.1不支持/lib64/libnode.so.93,但是呢后者依赖前者,这就是原因:

~]# ldd /lib64/libnode.so.93 | grep libcrypto

libcrypto.so.1.1 => /usr/local/openssl/lib/libcrypto.so.1.1 (0x00007f19e3eaf000)

显然是编译安装了一个openssl版本:

~]# ll /bin/openssl

lrwxrwxrwx 1 root root 30 Aug 12 09:45 /bin/openssl -> /usr/local/openssl/bin/openssl

~]# openssl version

OpenSSL 1.1.1p 21 Jun 2022

这台机器是CentOS7.9,缺省安装的是1.0.2k ,这里应该是升级openssh 的时候将openssl升级了。

~]# rpm -qa|grep openssl
openssl-1.0.2k-26.el7_9.x86_64

openssl11-libs-1.1.1k-6.el7.x86_64
openssl11-1.1.1k-6.el7.x86_64

openssl-libs-1.0.2k-26.el7_9.x86_64

查看RPM包可以看到,除了原生安装的1.0.2.k外,还安装了1.1.1k版本,这么一来/usr/local/openssl就没必要了。

1、如下将/usr/local/openssl/lib注释掉

~]# cat /etc/ld.so.conf

include ld.so.conf.d/*.conf

#/usr/local/openssl/lib

2、使用 ldconfig 命令更新动态链接库缓存:

~]# ldconfig

3、确认是否生效,引用到了/lib64/libcrypto.so.1.1

~]# ldd /lib64/libnode.so.93 | grep libcrypto

libcrypto.so.1.1 => /lib64/libcrypto.so.1.1 (0x00007efee33dd000)

最后,执行npm -v命令,问题解决:

~]# npm -v

8.19.4

刚通知同事,问题解决了,Please enjoy!结果告诉我还是不能用~~我这一脸问号还没消失,截图就过来了,问题回显如下:

~]# npm ping http://192.168.1XX.XX:4873/

npm notice PING http://192.168.1XX.XX:4873/
npm ERR! code ERR_INVALID_URL
npm ERR! Invalid URL

npm ERR! A complete log of this run can be found in:

npm ERR! /root/.npm/_logs/2024-11-22T07_26_02_329Z-debug-0.log

问题定位:

1、telnet 192.168.1XX.XX 4873,是通的

2、在另外一台服务器上装了一个npm命令,OK的

3、问问AI,百度搜搜,无果~~不过AI回答的一个可能原因提醒了我(无心插柳,踏破铁鞋):因为之前的HVV,设置了防火墙策略,不允许访问互联网,我就设置了web代理。

解决:

注释掉代理配置,然后重新登录即可。

相关推荐
江华森4 小时前
Spring Cloud 微服务全栈实战:从 Eureka 到 Docker Compose 一文贯通
运维
江华森4 小时前
Matplotlib 数据绘图基础入门
运维
江华森4 小时前
NumPy 数值计算基础入门
运维
Flynt3 天前
npm v12 来了:allowScripts 默认关闭,我的项目差点跑不起来
安全·npm·node.js
乘云数字DATABUFF4 天前
5分钟部署开源APM Databuff:OpenTelemetry全链路追踪入门实战
运维·后端
JuliusDeng5 天前
一文搞懂 `.npmrc`:npm 源、SSL 与 `_authToken` 配置避坑
npm·前端工程化
荣--6 天前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
江华森6 天前
动手实战学 Docker — 从零到集群编排完全指南
运维
Avan_菜菜7 天前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https
SelectDB8 天前
Litefuse 开源并推出单进程轻量模式,25 秒就能跑起来的 Agent 可观测与评估平台
运维·后端·自动化运维