Docker构建Strapi时出现Node版本兼容性错误排查求助
问题分析与解决
报错信息
application.co.uk-strapi@0.1.0: The engine "node" is incompatible with this module. Expected version ">=14.18.1". Got "12.20.1"
本地配置情况
- package.json已配置引擎限制:
"engines": { "node": ">=14.18.1", "npm": ">=6.14.0" }, "engineStrict": true,
- 本地通过nvm使用Node v14.19.3,且存在
.nvmrc文件内容为v14.19.3
问题根源
Docker构建环境是完全隔离的,不会读取本地的nvm配置或.nvmrc文件,当前构建使用的Node 12.20.1来自你Dockerfile中指定的基础镜像——大概率是你没明确指定符合要求的Node版本基础镜像,默认使用了旧版本的node镜像。
解决步骤
- 修改Dockerfile的基础镜像,指定符合要求的Node版本,比如:
# 使用指定版本的Node镜像 FROM node:14.19.3 # 或者使用轻量的alpine版本 # FROM node:14.19.3-alpine - 确保Dockerfile中没有额外安装旧版本Node的操作,避免覆盖基础镜像的Node版本。
内容的提问来源于stack exchange,提问作者Ben Drury
相关产品推荐
相关产品推荐

