🚤
HerokuでR10エラーが発生した
エラー内容
Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch
やろうとしていたこと
Node.js(v16)でFastifyを使ってサーバーを立てようとしていた時に発生した。
この記事のコードはFastifyのコードなので、他のライブラリを使っている場合は適宜読み替えてください。
完全には解決しなかった方法
エラー内容でググると、ポートを環境変数の PORT
で起動しようというような感じの記事がヒットする。
なので、それに従って、
index.ts
server.listen(process.env.PORT || 8000, (err, address) => {
if (err) throw err
server.log.info(`server listening on ${address}`)
})
のようにするも、直らず...
解決した方法
ポートを PORT
に合わせるだけではなく、ホストを 0.0.0.0
に指定する必要がある。
なので、
index.ts
server.listen(process.env.PORT || 8000, "0.0.0.0", (err, address) => {
if (err) throw err
server.log.info(`server listening on ${address}`)
})
のようにすることで解決できた。
まとめ
R10エラーが出た場合はホストを指定し忘れていないか確認してみるといいかもしれない。
Discussion