Docker容器安装Laravel Breeze遇npm未找到及服务不存在问题
Laravel Docker环境下安装Breeze的问题解决
问题现象
- 执行
docker-compose run --rm composer require laravel/breeze --dev成功,但执行docker-compose run --rm artisan breeze:install时报错:sh: npm: not found - 执行
docker-compose run --rm npm install && npm run dev时报错:no such service: npm
原因分析
artisan服务基于php.dockerfile构建,该镜像未安装Node.js和npm,导致Breeze安装过程中无法调用npm工具。- 当前
docker-compose.yaml未定义npm服务,直接调用会提示服务不存在。
解决方案
1. 为PHP镜像添加Node.js和npm支持
修改dockerfiles/php.dockerfile,在安装PHP扩展的步骤后添加Node.js安装命令:
FROM php:8.2-fpm-alpine WORKDIR /var/www/html COPY src . # 安装PHP必要扩展 RUN apk add --no-cache mysql-client msmtp perl wget procps shadow libzip libpng libjpeg-turbo libwebp freetype icu # 新增:安装Node.js和npm RUN apk add --no-cache nodejs npm RUN apk add --no-cache --virtual build-essentials \ icu-dev icu-libs zlib-dev g++ make automake autoconf libzip-dev \ libpng-dev libwebp-dev libjpeg-turbo-dev freetype-dev && \ docker-php-ext-configure gd --enable-gd --with-freetype --with-jpeg --with-webp && \ docker-php-ext-install gd && \ docker-php-ext-install mysqli && \ docker-php-ext-install pdo_mysql && \ docker-php-ext-install intl && \ docker-php-ext-install bcmath && \ docker-php-ext-install opcache && \ docker-php-ext-install exif && \ docker-php-ext-install zip && \ apk del build-essentials && rm -rf /usr/src/php* RUN apk add --no-cache pcre-dev $PHPIZE_DEPS \ && pecl install redis \ && docker-php-ext-enable redis.so RUN addgroup -g 1000 laravel && adduser -G laravel -g laravel -s /bin/sh -D laravel RUN chown -R laravel /var/www/html USER laravel
修改完成后重新构建PHP镜像:
docker-compose build php
2. 在docker-compose.yaml中添加npm服务
在services节点下新增npm服务配置:
npm: build: context: . dockerfile: dockerfiles/php.dockerfile volumes: - ./src:/var/www/html entrypoint: ["npm"] networks: - laravel_environment
该服务复用已安装npm的PHP镜像,将入口命令设为npm,方便直接调用前端工具。
后续操作步骤
- 重新执行Breeze安装命令:
docker-compose run --rm artisan breeze:install - 安装前端依赖并编译资源:
docker-compose run --rm npm install docker-compose run --rm npm run dev
内容的提问来源于stack exchange,提问作者thePITman
相关产品推荐
相关产品推荐

