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

如何在Docker中安装/usr/bin/npm?Dockerfile配置修复指引

解决Dockerfile中安装Node.js后缺少npm的问题

方案一:单独安装npm包

修改apt-get install命令,将npm加入安装列表:

FROM php:8.3-apache
COPY --from=composer:latest /usr/bin/composer /usr/local/bin/composer
RUN apt-get update && \
    apt-get install -y gnupg && \
    mkdir -p /etc/apt/keyrings && \
    curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg && \
    NODE_MAJOR=21 && \
    echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list && \
    # 新增npm到安装列表
    apt-get install -y zip mariadb-client libmagickwand-dev chromium nodejs npm && \
    docker-php-ext-install mysqli pdo pdo_mysql exif && \
    a2enmod headers rewrite
ENV PUPPETEER_EXECUTABLE_PATH="/usr/bin/chromium"

方案二:使用Node.js内置的corepack启用npm

从Node.js 16.x开始,官方内置了corepack工具,可用来管理npm、yarn等包管理器。在安装nodejs后添加对应命令:

FROM php:8.3-apache
COPY --from=composer:latest /usr/bin/composer /usr/local/bin/composer
RUN apt-get update && \
    apt-get install -y gnupg && \
    mkdir -p /etc/apt/keyrings && \
    curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg && \
    NODE_MAJOR=21 && \
    echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list && \
    apt-get install -y zip mariadb-client libmagickwand-dev chromium nodejs && \
    # 启用corepack并安装npm
    corepack enable npm && \
    docker-php-ext-install mysqli pdo pdo_mysql exif && \
    a2enmod headers rewrite
ENV PUPPETEER_EXECUTABLE_PATH="/usr/bin/chromium"

原因说明

你使用的Node.js 21是非LTS(长期支持)的奇数版本,Nodesource提供的Debian包中,该版本的nodejs包未默认将npm作为依赖项打包,因此需要手动补充安装。如果偏好稳定环境,也可以将NODE_MAJOR改为20(当前LTS版本),此时nodejs包会自动包含npm,无需额外操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 19:22:54