Laravel+Vue项目在VSCode执行npm install遇ENOENT错误求助
Laravel+Vue项目执行npm install报错:ENOENT spawn pwsh
问题情况
在VSCode中运行Laravel+Vue项目时,需执行npm install生成node_modules文件夹,但多次尝试均失败,核心报错为找不到pwsh。
已尝试操作
- 执行过的命令:
npm install laravel-mix --save-devnpm installnpm install && npm run devnpm ci
- 确认过
package.json所在目录正确 - 重新克隆项目
- 卸载重装Node.js,用avn和nvm管理版本
- 关闭杀毒软件
环境版本信息
{ "npm": "8.15.0", "node": "16.17.0", "v8": "9.4.146.26-node.22", "uv": "1.43.0", "zlib": "1.2.11", "brotli": "1.0.9", "ares": "1.18.1", "modules": "93", "nghttp2": "1.47.0", "napi": "8", "llhttp": "6.0.7", "openssl": "1.1.1q+quic", "cldr": "41.0", "icu": "71.1", "tz": "2022a", "unicode": "14.0", "ngtcp2": "0.1.0-DEV", "nghttp3": "0.1.0-DEV" }
错误日志
npm ERR! code ENOENT npm ERR! syscall spawn pwsh npm ERR! path /Users/node_modules/deasync npm ERR! errno -2 npm ERR! enoent spawn pwsh ENOENT npm ERR! enoent This is related to npm not being able to find a file. npm ERR! enoent
解决建议
检查PowerShell安装与环境变量
报错显示找不到pwsh(PowerShell Core),如果是Mac系统,可通过Homebrew安装:brew install powershell,安装后确认pwsh命令能在终端正常执行,若无法执行则手动将其路径添加到系统环境变量PATH中。临时修改npm默认Shell
执行命令让npm使用当前终端的Shell(如bash或zsh)代替pwsh:npm config set shell /bin/bash # 若使用zsh则执行:npm config set shell /bin/zsh之后重新执行
npm install。清理缓存与依赖文件后重试
删除项目根目录下的package-lock.json(若存在)和node_modules文件夹,再执行:npm cache clean --force npm install排查deasync依赖兼容性
报错路径指向deasync包,该包需编译,可能与当前Node版本或Shell环境不兼容。可尝试手动安装指定版本的deasync,或在package.json中更新该包版本后再执行安装。
内容的提问来源于stack exchange,提问作者user20013055
相关产品推荐
相关产品推荐

