Vercel部署GitHub项目时yarn install报128退出码错误如何解决
故障现象
GitHub托管的前端项目在Vercel平台部署时,yarn install执行阶段直接中断,抛出错误:
Error: Command "yarn install" exited with 128
参考项目仓库:https://github.com/ayaztest/wolfnft
错误截图:
核心原因
Yarn安装流程返回128退出码,本质是依赖拉取环节的Git操作执行失败,属于Vercel部署场景下的高频问题,基本都和权限、依赖地址配置、锁文件异常有关。
排查步骤与解决方案
按优先级从高到低排查即可:
- 优先检查
package.json里的依赖声明
排查所有dependencies、devDependencies字段,有没有用git@github.com:xxx/xxx.git这类SSH格式声明的Git依赖。Vercel默认构建环境不会配置个人SSH私钥,拉取这类地址的依赖时会直接因为无权限被拒绝,触发128错误。
解决:把所有SSH格式的Git依赖改成公开可访问的HTTPS格式地址;如果是私有仓库依赖,提前在Vercel项目的环境变量里配置对应Git平台的访问Token,给构建环境开放拉取权限。 - 检查锁文件与本地缓存差异
很多时候本地存在依赖缓存,哪怕yarn.lock里锁定了已经被删除、转为私有、迁移地址的依赖版本,本地依然可以正常安装,但Vercel是全新构建环境,拉取对应资源失败就会报错。
解决:本地删除node_modules文件夹和yarn.lock文件,重新执行yarn install生成全新的锁文件,提交到代码仓库后重新触发部署;如果项目用了Git子模块,同步检查.gitmodules里配置的子模块地址是否可公开访问、路径是否正确。 - 检查Vercel项目的自定义配置
排查Vercel后台配置的自定义环境变量,有没有错误配置Git代理、依赖源地址、私有源Token这类参数,错误的配置会直接干扰install阶段的Git拉取逻辑。
解决:临时屏蔽和Git、依赖源相关的自定义环境变量,重新触发部署测试;如果确实需要使用私有npm源,重新核对源地址和访问Token的配置正确性。 - 检查仓库权限配置
确认关联到Vercel的GitHub仓库没有被归档、没有开启组织级别的受限访问,同时确认GitHub账号里授权的Vercel应用,已经拿到了对应仓库的读取、部署权限,代码拉取权限不足也会抛出128错误。
解决:到GitHub的应用设置页,重新给Vercel开放对应仓库的访问权限,回到Vercel后台重新关联一次仓库后重试部署。
内容的提问来源于stack exchange,提问作者Muhammad Ayaz
相关产品推荐
相关产品推荐


