npm run脚本执行报错npm ERR! ENOENT syscall spawn bash求助
概述
无法通过npm run命令执行package.json中定义的scripts,所有脚本命令均返回相同错误信息:
npm ERR! code ENOENT
npm ERR! syscall spawn bash
npm ERR! path C:\Temp\test4
npm ERR! errno -4058
npm ERR! enoent spawn bash ENOENT
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent
最小复现步骤
在Windows 11机器上安装NodeJS 18.12.1 x64 MSI版本。
创建一个空目录(示例中名为test4),其中包含一个package.json文件,内容如下:
{ "scripts": { "hello": "echo 'Hello World'" } }
以管理员身份在package.json所在文件夹中打开PowerShell窗口,执行npm run hello后触发上述错误信息。
详细日志结果
启用silly logging以记录尽可能多的细节,执行命令npm run hello -ddd的结果如下:
预期行为
同事执行相同步骤,得到了预期的结果:
已尝试的解决方法
- 完全卸载NodeJs/NPM
- 安装不同版本的NodeJS/NPM(已尝试2-3个不同版本)
- 在上述简易
package.json和项目中的真实package.json上执行npm install,两者均安装成功 - 查看错误信息中提到的AppData文件夹内的日志文件(内容与上述详细错误截图一致)
内容的提问来源于stack exchange,提问作者Josh Schultz
相关产品推荐
相关产品推荐

