1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Cloudflare Pagesで原因不明の500エラーになった件

Posted at

こんにちは、minabeと申します。

Cloudflareでデプロイしてるブログサイトが、2週間ほど前から落ちていました...。
ようやく解決できたので、備忘録として残しておきます。

使用技術

  • Next.js v15
  • Mantine v7
  • NotionAPI

原因はcloudflare!

どうやら、Vercelのリリースバージョンが上がってしまったことで起きたっぽい。

症状としては、デプロイ後にURLを叩くと

Internal server error

となってしまうというもの。
ローカルでは全く問題なかったので苦戦しました。

問題のなかったコミットに戻しても、環境変数を見直しても全く解決せず。
本当に原因がわからず大苦戦しました。

詳細 > Functionsのリアルタイムログで見られることに気づき、以下のエラーが見つかってからは早かったです。

"Error: No such module "next-on-pages-dist/functions/async_hooks".\n imported from "next-on-pages-dist/functions/blog.func.js""

全てはこのissueのおかげです。

解決方法

Vercelのバージョンを固定することで、一時的に解決する。
どうやらまだ根本的な解決はされてなさそう。

自分はpnpmを使用していたので、上記のissueに書いてるpackage.jsonの変更だけじゃダメだったのでこちらに記します。(一応issueコメントをしっかり読めば書いてますが。)

  1. package.jsonを変更する
  2. 設定を変える

1. package.jsonに以下を追記

"dependencies": {
  "@cloudflare/next-on-pages": "^1.13.6",
  "vercel": "39.1.1"
},
"overrides": {
  "vercel": "$vercel"
}

以下のコマンドで依存関係を解決する。

pnpm i

2. 設定を変更する

  1. ランタイム > 互換性の日付を"2024-09-23"または"2024-11-11"にする
  2. ビルドコマンドpnpm exec next-on-pagesに変更する

最後に

何か問題があれば、コメントください。
お読みいただきありがとうございました!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?