NPM找不到pwsh实体 报spawn pwsh ENOENT错误无法使用求助
报错根因
你遇到的spawn pwsh ENOENT报错本质是npm配置的脚本执行器被设置为PowerShell Core(对应可执行文件名为pwsh),但系统无法在环境变量PATH中找到该可执行文件,和你已经排查过的Node安装、PowerShell权限问题无关。
可行解决步骤
- 第一步:先验证npm的shell配置,运行以下命令查看当前设置:
如果返回结果为npm config get script-shellpwsh,即可确认是该配置导致的问题。 - 第二步:二选一选择解决方案即可:
- 切换为系统默认的脚本执行器(无需依赖pwsh):
- 切换为cmd:
npm config set script-shell cmd - 切换为传统桌面版PowerShell:
npm config set script-shell powershell
- 切换为cmd:
- 如果你需要继续使用pwsh作为执行器:
找到你的PowerShell Core安装目录(默认路径为C:\Program Files\PowerShell\7\),将该路径添加到系统环境变量PATH中,添加完成后重启所有终端窗口再验证npm功能。
- 切换为系统默认的脚本执行器(无需依赖pwsh):
- 第三步:额外排查局部配置
如果上述操作后问题仍然存在,分别检查当前项目根目录、用户根目录(C:\Users\simon)下的.npmrc文件,删除其中的script-shell=pwsh配置项即可。
内容的提问来源于stack exchange,提问作者Simon Guglberger
相关产品推荐
相关产品推荐

