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

Vercel部署报错Host key verification failed,本地构建正常求解决

解决Vercel部署时yarn install报错(Exit code 128)

错误核心

你遇到的问题包含两个关键点:

  1. 依赖冲突警告:ethereumjs-abi同时通过Git仓库URL和版本号两种方式被声明,导致依赖解析时出现重复路径提示
  2. 致命SSH验证错误:Vercel的构建环境未配置GitHub SSH访问权限,通过SSH拉取仓库时触发Host key verification failed,最终导致yarn install退出码128

解决方案

1. 统一依赖声明(优先推荐)

打开项目的package.json,找到ethereumjs-abi的依赖配置,将Git URL形式的声明替换为标准npm版本号:

  • 原错误配置示例:
    "dependencies": {
      "ethereumjs-abi": "git+https://github.com/ethereumjs/ethereumjs-abi.git",
      // 可能同时存在 "ethereumjs-abi": "^0.6.8"
    }
    
  • 修改为统一版本号:
    "dependencies": {
      "ethereumjs-abi": "^0.6.8"
    }
    

这样既解决了依赖重复的警告,又避免了直接拉取Git仓库的需求,适配Vercel的默认构建环境。

2. 若必须依赖Git仓库(不推荐)

如果项目确实需要直接使用该Git仓库而非npm包,需为Vercel配置SSH访问权限:

  • 本地生成SSH密钥:执行ssh-keygen -t ed25519 -C "your-email@example.com",一路回车生成密钥对
  • 将生成的公钥(~/.ssh/id_ed25519.pub内容)添加到GitHub账号的SSH密钥列表中
  • 在Vercel项目的「Settings」→「Environment Variables」中添加变量SSH_KEY,值为私钥(~/.ssh/id_ed25519内容)
  • 修改Vercel构建命令,提前添加GitHub主机信任:
    ssh-keyscan github.com >> ~/.ssh/known_hosts && yarn install && yarn build
    

3. 清理缓存后重新部署

本地执行以下命令清理依赖缓存,推送代码后触发Vercel重新构建:

rm -rf node_modules
rm yarn.lock
yarn install
git add .
git commit -m "Fix vercel deployment dependency issue"
git push

额外检查项

  • 确认Vercel关联的GitHub仓库权限正常,无访问限制
  • 排查项目中是否还有其他依赖使用Git SSH地址,统一处理

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 15:10:39