运行npm run watch报错找不到laravel-mix/bin/cli.js如何解决
报错场景
新建Laravel + Vue JS项目执行npm run watch命令时抛出异常:
Cannot find module 'C:\xampp\htdocs\laravel-mix\bin\cli.js'
多次删除node_modules目录、package-lock.json文件后重新执行npm依赖安装,问题仍未解决。
解决步骤(按优先级依次尝试)
- 先核对项目根目录
package.json内的scripts配置,watch等和Mix相关的脚本不要写死绝对路径,标准配置参考如下:
"scripts": { "dev": "npm run development", "development": "mix", "watch": "mix watch", "watch-poll": "mix watch -- --watch-options-poll=1000", "hot": "mix watch --hot", "prod": "npm run production", "production": "mix --production" }
如果配置里存在指向C:\xampp\htdocs\laravel-mix的硬编码路径,直接替换为上述标准写法。
- 彻底清理缓存和残留依赖后重装,不要只删除项目内文件,按顺序执行命令:
# 删除项目内依赖和锁文件(Windows环境可手动直接删除对应文件夹/文件) rm -rf node_modules package-lock.json # 强制清理npm全局缓存 npm cache clean --force # 单独安装laravel-mix,避免依赖树解析异常导致漏装 npm install laravel-mix --save-dev # 安装剩余全部项目依赖 npm install
- 排查全局laravel-mix造成的路径冲突,执行命令卸载全局版本后重试:
npm uninstall -g laravel-mix
Laravel项目只需要使用项目本地node_modules下的Mix版本即可,全局安装极易引发路径解析错误,不需要全局部署该依赖。
- 如果是Laravel 9及以上版本,框架默认前端构建工具为Vite,若手动切回Mix使用,需要先执行初始化命令生成正确配置:
php artisan mix:install
命令执行完成后会自动生成合规的webpack.mix.js配置和package.json脚本,修复路径引用问题。
- 最后确认执行命令的终端路径,必须切到项目根目录(同时包含
package.json、artisan文件的层级),路径错误会导致npm解析依赖时寻址到其他目录,触发找不到模块的报错。
内容的提问来源于stack exchange,提问作者Pratik
相关产品推荐
相关产品推荐

