スキップしてメイン コンテンツに移動

NextJS を 13.5 に上げたら、Netlify で API Routes が使えなくなった

NextJS を 13.5 に上げたら、Netlify で API Routes が使えなくなった

基本的に、NextJS をフレームワークとして使う場合はVercelを使っていれば、変なトラブルに巻き込まれる事はないのだが、今回 netlify で作っていたアプリがコケたので、その知見を書き記したい。

事象

API Routes が全く動作しなくなった。エラーとしては 502 (Bad Gateway) が出ているが、実際にログを精査すると、

Runtime.ImportModuleError: Error: Cannot find module 'styled-jsx/style'

というエラーが出ている事が分かった。

検索結果

Runtime.ImportModuleError: Error: Cannot find module 'styled-jsx' - Nextjs + NextAuth - #2 by hrishikesh

この記事を見ると、@netlify/plugin-nextjs の 4.38.0 以上を入れろとなっている。だが、これをやっても駄目だった。

最終的な解決策

色々試して、NextJS の 13.5 以上は現在 netlify で API Routes が使えない事が分かったので、NextJS をダウングレードして対応した。 最近、自分はbunを愛用しているので、

bun add nextjs@13.4.19

を実行して、package.json の中身を更新するだけで良かった。

完走した感想

ぬわああああん疲れたもおおおおん。コイツいつも疲れてんな。

正直今回のバグはエグくて、いわゆる環境バグ。 おま環と言われても仕方がないレベルなので、再現性はもちろん、解決方法も簡単には見つからない。 今回、泣く泣くダウングレードという策を採用したが、もう少し深い所での解決を出来るようになりたい。

コメント