You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Alpine镜像安装Node.js报错RSA_get0_pss_params未找到如何解决?

问题根因

你使用的nginx:1.16.0-alpine基于老旧的Alpine 3.10版本,自带的openssl版本过低。你安装的是edge源的最新nodejs包,近期edge源的nodejs更新后依赖更高版本的openssl,而旧版openssl没有RSA_get0_pss_params这个导出符号,就会出现relocation错误,这也是为什么之前构建正常、突然报错的原因。

另外你的Dockerfile中RUN apk add --update npm属于冗余步骤,安装node时已经默认安装对应版本的npm,可以直接删除。

解决方案

任选以下任意一种方案即可修复:

方案1:使用当前Alpine版本官方源的nodejs

不用edge源,直接用当前Alpine版本自带的稳定node包,兼容性最好:

RUN apk add --no-cache libuv nodejs npm \
    && echo "NodeJS Version:" "$(node -v)" \
    && echo "NPM Version:" "$(npm -v)"

方案2:升级基础镜像到较新的nginx alpine版本

如果需要使用高版本node,把基础镜像换成新版本的nginx alpine,新镜像自带的openssl版本足够支持edge源的最新node:

# 替换第一行的基础镜像声明即可
FROM nginx:1.25-alpine

其余安装指令可以保持不变。

方案3:同步安装edge源的openssl包

如果既不想更换基础镜像,也想继续使用edge源的高版本node,就在安装node前先从edge源安装新版openssl:

RUN apk add --no-cache --repository http://nl.alpinelinux.org/alpine/edge/main libuv openssl \
    && apk add --no-cache --update-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/main nodejs nodejs-npm \
    && echo "NodeJS Version:" "$(node -v)" \
    && echo "NPM Version:" "$(npm -v)"

内容的提问来源于stack exchange,提问作者Green

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 00:54:09