NextJS项目部署Heroku构建失败提示API token无效该如何解决
问题根因
本次部署失败的直接触发原因是Next.js构建阶段执行静态页面预渲染时,调用Notion API鉴权失败。
你本地开发、构建时已经配置了Notion API Token的环境变量,所以运行正常,但Heroku的构建环境没有配置对应环境变量,导致getStaticProps执行阶段请求Notion接口时返回API token is invalid错误,预渲染流程中断,最终构建被终止。
日志中提示的Node版本未指定属于非阻断性警告,不是本次构建失败的直接原因,后续配置可避免其他潜在兼容性问题。
解决方案
- 首先确认代码中引用的Notion相关环境变量的准确名称,包括API Token、数据库ID等所有需从环境变量读取的配置项,保证变量名大小写、拼写完全准确。
- 登录Heroku控制台,进入对应项目的设置页面,找到配置变量(Config Vars)板块,将本地所有用到的环境变量逐一添加到Heroku配置中。
- (可选)在项目
package.json中添加engines字段,指定与本地开发环境一致的Node.js、npm版本,避免跨版本兼容问题,配置示例如下:
{ "engines": { "node": "14.x", "npm": "6.14.15" } }
- 重新推送代码触发Heroku构建,或在控制台手动触发重新部署即可。
内容的提问来源于stack exchange,提问作者Shemona Singh
相关产品推荐
相关产品推荐

