Laravel 5.8项目运行npm run dev失败,疑与Node版本过高有关
解决Laravel 5.8.38无法运行
npm run dev的问题 核心原因:Node版本不兼容
Laravel 5.8配套的Laravel Mix版本为4.x,该版本要求Node 8.10.0 ~ 12.x、npm 6.x,你当前使用的Node 16.16.0版本过高,会触发依赖兼容性问题,直接导致npm警告、webpack文件找不到等错误。
分步解决方案
切换到适配的Node版本
用Node版本管理器(nvm)快速切换版本:- 安装nvm后,执行
nvm install 12.22.12(这是12.x分支的最后一个LTS版本,稳定性最好) - 执行
nvm use 12.22.12切换到该版本 - 验证版本:
node -v显示v12.22.12,npm -v显示6.x即可
- 安装nvm后,执行
重新安装依赖
旧的package-lock.json是用低版本npm生成的,和当前高版本Node不匹配,需要清理后重装:- 删除项目根目录下的
node_modules文件夹 - 删除
package-lock.json文件 - 执行
npm install,此时会生成适配当前Node/npm版本的依赖文件和lock文件
- 删除项目根目录下的
验证运行
执行npm run dev,此时webpack相关的路径错误应该会消失,命令可以正常执行。
额外说明
如果没有nvm,也可以直接下载对应版本的Node安装包手动切换,但nvm是管理多Node版本最便捷的方式,推荐使用。
内容的提问来源于stack exchange,提问作者Marcello Pato
相关产品推荐
相关产品推荐

