在php:8.2-fpm-alpine镜像中安装Node.js 14的Docker配置方法
如何在php:8.2-fpm-alpine镜像中安装Node.js 14
方法一:通过Alpine软件源安装指定版本
php:8.2-fpm-alpine基于Alpine 3.18,其默认软件源已移除Node.js 14,需添加旧版本的Alpine社区源来获取对应包:
替换原有Dockerfile中的相关步骤,修改后如下:
FROM php:8.2-fpm-alpine ARG SERVER_ENVIRONMENT RUN set -ex && \ apk --no-cache add # 添加包含Node.js 14的Alpine 3.16社区源 RUN echo "http://dl-cdn.alpinelinux.org/alpine/v3.16/community" >> /etc/apk/repositories RUN apk add --no-cache \ libzip-dev \ zlib-dev \ curl-dev \ icu-dev \ g++ \ mysql-client \ zip \ # 指定安装Node.js 14系列及兼容的npm版本 nodejs=14.* \ npm=8.* # 验证安装版本 RUN node -v && npm -v
说明:添加v3.16社区源后,通过版本通配符锁定Node.js 14的最新补丁版本,搭配的npm 8.x版本与Node.js 14完全兼容。
方法二:使用nvm安装(更灵活)
若不想依赖旧软件源,可通过nvm(Node版本管理器)安装指定版本的Node.js:
修改后的Dockerfile:
FROM php:8.2-fpm-alpine ARG SERVER_ENVIRONMENT RUN set -ex && \ apk --no-cache add RUN apk add --no-cache \ libzip-dev \ zlib-dev \ curl-dev \ icu-dev \ g++ \ mysql-client \ zip \ bash \ nvm # 加载nvm环境变量,安装并设置Node.js 14为默认版本 RUN source /etc/profile.d/nvm.sh && \ nvm install 14 && \ nvm alias default 14 && \ nvm use default # 验证安装版本 RUN node -v && npm -v
说明:通过apk安装nvm后,加载系统级的nvm脚本,即可快速安装并切换到Node.js 14版本,适配不同基础镜像的需求。
内容的提问来源于stack exchange,提问作者Rifatul Islam Chowdhury
相关产品推荐
相关产品推荐

