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

Vercel部署构建阶段报错求助:依赖安装与Vite命令异常

Vercel构建失败问题排查与修复

核心问题分析

从构建日志和package.json配置来看,有两个致命问题导致部署失败:

1. Node二进制包引发GLIBC版本不兼容

你在dependencies中添加了node: ^18.9.1,这个包并非用来指定项目Node版本的工具,它会在安装时尝试下载独立的Node二进制文件,而Vercel构建环境的GLIBC版本低于该二进制要求的2.27/2.28版本,直接导致依赖安装中断。

2. 依赖配置混乱导致Vite未正常安装

  • 依赖安装中断后,devDependencies中的vite未被安装,执行vite build时自然提示command not found。
  • 项目使用Vite构建,但dependencies中仍保留了Create React App的react-scripts,两者完全冲突。
  • prettier属于开发工具,不应放在dependencies中。
  • React 16.8与@types/react 18版本不匹配,会引发类型校验问题。

修复步骤

  1. 修正package.json依赖配置
    删除dependencies里的node、react-scripts,将prettier移到devDependencies,同时升级React到与@types匹配的版本,修改后的关键部分如下:

    {
      "dependencies": {
        "@emailjs/browser": "^3.7.0",
        "hover.css": "^2.3.2",
        "latest": "^0.2.0",
        "react": "^18.2.0",
        "react-dom": "^18.2.0",
        "react-router-dom": "^6.4.2"
      },
      "devDependencies": {
        "@types/react": "^18.0.17",
        "@types/react-dom": "^18.0.6",
        "@vitejs/plugin-react": "^2.1.0",
        "prettier": "^2.7.1",
        "vite": "^3.1.0"
      }
    }
    
  2. 指定Node版本(推荐)
    在项目根目录新建.nvmrc文件,写入18.9.1,Vercel会自动识别并使用对应版本的Node,避免版本兼容问题。

  3. 清理旧依赖缓存
    本地执行以下命令后重新提交代码:

    rm -rf node_modules package-lock.json
    npm install
    
  4. 重新部署
    推送修改后的代码到GitHub,触发Vercel重新构建。

额外提示

  • 那些npm的deprecated警告是依赖旧版本提示,修复核心问题后可逐步升级,但不影响当前构建。
  • 不要将Node本身作为项目依赖,版本管理用nvm或Vercel环境配置即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 20:35:39