Laravel Mix执行npm run dev提示找不到已安装模块报错如何解决
问题解决方案
路径特殊字符问题(最高概率)
- 你的项目存储路径
/Volumes/Websites_#02/中包含#特殊字符,webpack的路径解析逻辑会将#识别为URL锚点标识符,导致路径截断,无法正确定位node_modules下的loader文件。 - 解决方法:将项目目录迁移到不含特殊字符(#、空格、中文、emoji等)的路径下,例如
/Volumes/Websites02/,重新执行npm install && npm run dev测试。
依赖版本冲突问题
Laravel Mix 6已经内置了babel-loader、mini-css-extract-plugin等构建所需的所有loader依赖,你在package.json中手动声明的同包不同版本会和Mix内置版本冲突,导致loader加载路径异常:
- 编辑package.json,删除devDependencies中的以下两行:
"babel-loader": "^8.2.3", "mini-css-extract-plugin": "^2.4.5",
- 执行以下命令重装依赖:
rm -rf node_modules package-lock.json npm cache clean --force npm install npm run dev
兜底环境排查
如果以上操作后仍报错,执行以下操作验证环境状态:
- 在系统用户根目录(
~/路径下,无特殊字符)新建一个空的Laravel 8测试项目,安装默认依赖后执行npm run dev,确认是否能正常构建 - 若测试项目正常,说明原项目路径或依赖配置问题;若测试项目也报错,执行
npm config list检查npm的prefix、cache等配置是否有路径异常,执行npm config delete prefix && npm config delete cache重置npm配置为默认值后重试。
内容的提问来源于stack exchange,提问作者Giampy71
相关产品推荐
相关产品推荐

