Laravel 8 搭配 Bootstrap 与 auth 时 npm run dev 执行失败求助
解决Laravel 8.x中npm run dev报错spawn bash ENOENT的问题
问题根源
Windows环境下,npm执行Laravel Mix脚本时尝试调用bash shell,但系统未配置可用的bash环境,导致找不到对应执行文件。
可行解决方案
1. 安装Git Bash并配置PATH
- 安装Git for Windows,安装过程中确保勾选「Add Git to PATH」选项
- 安装完成后重启终端/CMD,重新执行
npm run dev
2. 手动添加bash路径到环境变量
若已安装Git但仍报错:
- 定位Git安装目录下的bash路径,一般为
C:\Program Files\Git\bin或C:\Program Files\Git\usr\bin - 打开系统环境变量设置,将该路径添加到
PATH变量中 - 重启终端后再次执行命令
3. 修改package.json脚本强制使用CMD
编辑项目根目录的package.json,修改scripts部分,在每个命令前添加set SHELL=cmd.exe,强制使用Windows cmd执行:
"scripts": { "dev": "set SHELL=cmd.exe && mix", "watch": "set SHELL=cmd.exe && mix watch", "watch-poll": "set SHELL=cmd.exe && mix watch -- --watch-options-poll=1000", "hot": "set SHELL=cmd.exe && mix watch --hot", "prod": "set SHELL=cmd.exe && mix --production" }
保存后执行npm run dev
4. 降级Node.js至LTS版本
Laravel 8与Node.js 18的兼容性可能存在问题,尝试降级到Node.js 16 LTS版本,删除node_modules和package-lock.json后重新执行npm install && npm run dev
内容的提问来源于stack exchange,提问作者Huy
相关产品推荐
相关产品推荐

