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

Heroku部署NextJS/ExpressJS应用出现npm Host key verification failed错误

问题根因

你的部署报错由两个核心问题触发:

  1. 依赖安装阶段,npm尝试通过SSH协议拉取js-xlsx的GitHub仓库代码,但Heroku构建环境没有配置可访问该仓库的SSH密钥,鉴权失败
  2. 你的package.json中没有指定Node.js和npm版本,Heroku使用默认版本可能存在兼容性隐患

解决方案

  • 优先替换SSH协议的依赖地址
    打开你项目根目录的package.json,找到dependencies中js-xlsx对应的配置项:
    如果你当前写的是"js-xlsx": "git+ssh://git@github.com/securedeveloper/js-xlsx.git",请替换为HTTPS协议的地址:"js-xlsx": "git+https://github.com/securedeveloper/js-xlsx.git";如果该包有公开发布的npm版本,直接替换为官方npm包配置"xlsx": "^0.18.5"(可根据你需要的版本调整)即可,无需直接拉取Git仓库源码。
  • 补充Node.js版本声明
    在package.json中新增engines字段,明确指定你项目兼容的Node.js和npm版本,示例如下:
    {
      "name": "your-project-name",
      "version": "1.0.0",
      "engines": {
        "node": "14.x",
        "npm": "6.x"
      },
      "dependencies": {
        // 你的其他依赖
      }
    }
    
  • 若你确实需要拉取私有Git仓库的依赖,请生成拥有该仓库读取权限的GitHub个人访问令牌,将依赖地址修改为带令牌的HTTPS格式:"js-xlsx": "git+https://<你的GitHub令牌>@github.com/securedeveloper/js-xlsx.git"即可。

修改完成后重新提交代码推送Heroku即可正常构建。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 20:30:05