Laravel Mix执行npm run dev报未知选项--hide-modules错误怎么解决
问题原因
报错核心是你当前使用的Laravel Mix版本和webpack 5+版本不兼容:--hide-modules是webpack 4及更早版本的参数,webpack 5正式移除了该配置项,旧版Laravel Mix调用webpack时仍然携带了这个已废弃的参数,因此触发执行错误。
解决方案
推荐优先选择第一个方案,兼容性最好:
- 方案1:升级Laravel Mix到适配webpack 5的v6及以上版本
- 先删除项目根目录下的
node_modules文件夹、package-lock.json(用yarn的话删yarn.lock) - 执行命令安装最新版Laravel Mix:
npm install laravel-mix@latest --save-dev - 重新安装所有依赖:
npm install - 执行
npm run dev验证是否修复
- 先删除项目根目录下的
- 方案2:保留旧版Laravel Mix,手动删除废弃参数
打开项目根目录的package.json文件,找到scripts下的development配置项,删掉其中的--hide-modules参数即可,修改后配置示例:
修改保存后重新执行"development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --config=node_modules/laravel-mix/setup/webpack.config.js"npm run dev即可。 - 方案3:锁定webpack版本到4.x
如果你不想改动Laravel Mix和脚本配置,可以退回到支持--hide-modules的webpack 4版本,执行命令:npm install webpack@4.x --save-dev,安装完成后重新运行npm run dev即可。
内容的提问来源于stack exchange,提问作者Ravi Majithiya
相关产品推荐
相关产品推荐

