我正在尝试在Heroku上部署一个小型nodeJS服务器,将数据保存到Firestore数据库。服务器已部署并正常运行。我使用失眠来测试我的请求,当我在本地使用它时,我可以发送一个post请求并将我的数据对象保存到数据库中,而不会出现问题。但是,当我尝试向Heroku发送post请求时,我得到一个500错误,其中包含以下消息:
{"code": 16, "details": "检索auth元数据失败错误:0909006C:PEM例程:get_name:no start line"元数据": {}, "note": "重试方法中发生异常未归类为瞬态的;}
我读到有必要在env变量中添加真正的换行符,但我想我已经这样做了。这是我的initializeApp
函数:
admin.initializeApp({
credential: admin.credential.cert({
projectId: process.env.PROJECT_ID,
privateKey: process.env.PRIVATE_KEY
? process.env.PRIVATE_KEY.replace(/\n/gm, "n")
: undefined,
clientEmail: process.env.CLIENT_EMAIL
}),
databaseURL: "XXXXX"
});
你知道怎么解决这个问题吗?
我通过将带有换行符的键直接复制粘贴到Heroku配置变量中并从代码中删除.replace(/\n/gm, "n")
来解决此问题。
privateKey: process.env.PRIVATE_KEY
? process.env.PRIVATE_KEY
: undefined