Windows环境下Yarn链式执行命令报错:webpack未找到
问题描述
在Windows 11系统、Node v20.11.1、Yarn 1.22.21环境下,执行链式命令时出现command not found错误:
- package.json中配置了包含webpack的链式启动脚本
- 执行
yarn start后,前两个命令tsupdate和iconfont正常完成,但后续的webpack命令提示找不到 - 单独执行webpack命令可正常运行
package.json的scripts配置
"scripts": { "prod": "npm run tsupdate && npm run iconfont && webpack --mode production --progress", "start": "npm run tsupdate && npm run iconfont && webpack serve --mode production --progress --host 0.0.0.0 --port 8081" }
错误信息
'webpack' is not recognized as an internal or external command, operable program or batch file.
最终Yarn命令执行失败,退出码为1。
解决方案
- 改用
npx webpack或yarn webpack替代直接写webpack,强制调用项目本地安装的webpack,规避环境变量路径问题:"scripts": { "prod": "npm run tsupdate && npm run iconfont && npx webpack --mode production --progress", "start": "npm run tsupdate && npm run iconfont && npx webpack serve --mode production --progress --host 0.0.0.0 --port 8081" } - 或者把webpack命令封装成单独的scripts项,通过npm/yarn调用:
"scripts": { "tsupdate": "...", "iconfont": "...", "webpack:prod": "webpack --mode production --progress", "webpack:serve": "webpack serve --mode production --progress --host 0.0.0.0 --port 8081", "prod": "npm run tsupdate && npm run iconfont && npm run webpack:prod", "start": "npm run tsupdate && npm run iconfont && npm run webpack:serve" } - 确认webpack是本地安装到项目的
node_modules中(而非仅全局安装),本地安装的包会被npm/yarn的脚本环境自动识别路径。
内容的提问来源于stack exchange,提问作者DigCamara
相关产品推荐
相关产品推荐

