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

Ubuntu 20.04下执行Vite命令遇npm spawn powershell ENOENT错误求助

解决Ubuntu 20.04下运行Vite React项目时npm报错spawn powershell ENOENT的问题

这个错误的核心原因是:Ubuntu作为Linux环境,npm却尝试调用Windows专属的PowerShell程序,系统中不存在该程序,因此抛出找不到文件的错误。以下是针对性的解决思路:

  • 检查并修正package.json中的dev脚本
    打开项目根目录下的package.json,查看scripts里的dev命令是否硬编码了PowerShell调用。比如如果是"dev": "powershell vite",直接修改为"dev": "vite"即可。

  • 重置npm的默认shell配置
    执行以下命令查看当前npm默认使用的shell:

    npm config get shell
    

    如果返回结果包含powershell,将其改为Ubuntu系统默认的bash或zsh:

    # 使用bash作为默认shell
    npm config set shell /bin/bash
    # 若使用zsh则执行
    npm config set shell /bin/zsh
    
  • 排查Vite配置文件中的Windows专属脚本
    检查项目中的vite.config.js(或.ts)文件,确认是否有在钩子(如predev、postdev)或插件配置中指定了PowerShell命令,将其替换为Linux兼容的shell命令。

  • 重新创建兼容Linux的项目(若新项目初始化即报错)
    如果是创建新项目时就出现该问题,可能是使用的模板包含Windows专属配置,重新执行创建命令并明确使用React官方模板:

    npm create vite@latest my-react-app -- --template react
    
  • 清理缓存并重装依赖
    执行以下步骤重置项目依赖环境:

    npm cache clean --force
    rm -rf node_modules package-lock.json
    npm install
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 12:15:32