部署Moralis Parse Server到Heroku时遇Host key验证失败求助
问题解决:Heroku部署时Host key verification failed导致构建失败
错误原因
本地运行yarn build和yarn start正常,但Heroku构建失败,核心错误是Host key verification failed,本质是Heroku的构建环境无法通过SSH方式访问ssh://git@github.com/mongodb-js/mongodb-tools.git:
- 本地环境因为之前用过SSH访问GitHub,已经缓存了GitHub的SSH主机密钥,所以能正常拉取依赖;
- Heroku的构建容器是临时创建的,没有预先信任GitHub的SSH主机密钥,导致Git通过SSH拉取仓库时验证失败,退出码128。
解决步骤
替换依赖的SSH地址为HTTPS
检查你的package.json或yarn.lock,找到引用mongodb-tools的条目,把SSH地址替换为HTTPS地址:原地址:ssh://git@github.com/mongodb-js/mongodb-tools.git 替换为:https://github.com/mongodb-js/mongodb-tools.gitHTTPS方式不需要SSH密钥验证,公开仓库可直接在Heroku环境中拉取。
重新生成yarn.lock
- 删除本地的
yarn.lock文件 - 运行
yarn install重新生成依赖锁文件,确保所有依赖都使用HTTPS地址 - 提交更新后的
package.json和yarn.lock到Git仓库
- 删除本地的
重新部署到Heroku
推送更新后的代码到Heroku远程仓库,重新触发构建即可。
关键错误日志翻译
remote: 错误命令执行失败。
remote: 退出码:128
remote: 命令:git
remote: 参数:ls-remote --tags --heads ssh://git@github.com/mongodb-js/mongodb-tools.git
remote: 目录:/tmp/build_fa7e0e92
remote: 输出:
remote: 主机密钥验证失败。
remote: 致命错误:无法从远程仓库读取内容。
remote:
remote: 请确保你有正确的访问权限,且仓库存在。
内容的提问来源于stack exchange,提问作者luketorv
相关产品推荐
相关产品推荐

