You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel项目npm run dev报webpack未找到但已安装的问题求助

问题描述

我正在修复一个旧版Laravel应用(版本5.8.38),当前使用Node.js 23.7.0。我的package.json配置如下:

{
  "private": true,
  "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"
  },
  "devDependencies": {
    "axios": "^1.7.9",
    "bootstrap": "^5.3.3",
    "cross-env": "^5.1",
    "jquery": "^3.2",
    "laravel-mix": "^6.0.49",
    "lodash": "^4.17.13",
    "popper.js": "^1.12",
    "resolve-url-loader": "^5.0.0",
    "sass": "^1.15.2",
    "sass-loader": "^7.1.0",
    "vue": "^3.5.13"
  }
}

执行npm install后安装正常。首次运行npm run dev时,收到提示:

Additional dependencies must be installed. This will only take a moment.

Running: npm install less-loader less --save-dev --legacy-peer-deps

Finished. Please run Mix again.

按照提示操作后,再次运行npm run dev却出现如下错误:

> dev
> npm run development

> development
> mix

/bin/sh: webpack: command not found

但webpack实际已安装,它是laravel-mix的依赖,在package.lock.json中可以看到:

"webpack": "^5.60.0",
   "webpack-cli": "^4.9.1",
   "webpack-dev-server": "^4.7.3",
   "webpack-merge": "^5.8.0",
   "webpack-notifier": "^1.14.1",
   "webpackbar": "^5.0.0-3",

且这些依赖都存在于我的node_modules目录中。

解决方法

以下是几个可行的修复方案,按优先级尝试:

方案1:用npx调用本地mix

修改package.json里的scripts命令,通过npx直接调用本地安装的mix,规避全局命令路径识别问题:

"scripts": {
  "dev": "npm run development",
  "development": "npx mix",
  "watch": "npx mix watch",
  "watch-poll": "npx mix watch -- --watch-options-poll=1000",
  "hot": "npx mix watch --hot",
  "prod": "npm run production",
  "production": "npx mix --production"
}

修改后重新执行npm run dev即可。

方案2:降级Node.js版本

Node.js 23属于不稳定的开发版本,和旧版Laravel Mix兼容性较差。建议降级到LTS版本(比如16.x或18.x):

  1. 卸载当前Node.js版本
  2. 通过nvm等工具安装对应LTS版本
  3. 删除node_modules和package-lock.json
  4. 重新执行npm install和npm run dev

方案3:彻底清理依赖后重装

清理现有依赖缓存和文件,避免依赖冲突:

  1. 删除node_modules目录:rm -rf node_modules
  2. 删除package-lock.json文件:rm package-lock.json
  3. 清除npm缓存:npm cache clean --force
  4. 重新安装依赖:npm install
  5. 再次运行npm run dev

方案4:手动引入webpack

在webpack.mix.js文件顶部添加代码,手动引入webpack:

const webpack = require('webpack');

确保mix配置能正确调用webpack模块。

内容的提问来源于stack exchange,提问作者Tench

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 08:42:17