【Next.js】Partial Prerendering (PPR) をつかうとビルドができない!!?

Next.js

 

Next.jsの公式チュートリアルをやっていてPartial Prerendering (PPR) を使いました

ただ、ビルドするとエラーになったので調べてみます

2024/07時点でPPRは試験的に採用されているのでそれが関係していそう。。

 

ちなみに、公式チュートリアルをやってみた記事は↓です

 

現状

 

・バージョン

 

・コード

PPRに関係あるコードのみ追記します

 

 

エラー文

 

ビルドすると、、、

 

公式ドキュメントにお世話になる

 

Partial Prerendering Preview in Next.js Canary

↑の記事を見るように書いてあるので、見てみると

PPRを使うにはNext.jsのCanaryバージョンが必須となっているとのこと。

試験的に導入されている機能なので最新バージョンを使わなければならないそう。

 

いざ、解決

 

先ほどのドキュメントに沿ってNext.jsのCanaryバージョンをインストールします

はい、エラー出ました。

ハイライト部あたりを見ると、

君の使ってるReactは18.2.0だけど、19.0.0が必要だよー

とでているのでReactのバージョンをあげます。

 

こちらも公式ドキュメントがあったのでそれに沿ってバージョンアップ

https://ja.react.dev/blog/2024/04/25/react-19-upgrade-guide

なにやらWarningがたくさん出ましたが、バージョンアップできたので次へ

 

これでNext.jsのCanaryバージョンが入るはず。。

React19.0.0がはいっているのでこのエラーが出ているのがよくわかりません。。

今回は試験的にCanaryバージョンを入れるので –legacy-peer-deps で無理やり入れます

このオプション何?? という方は↓の記事をご覧ください

npm installでのCould not resolve dependencyエラーと--legacy-peer-depsについて

 

何とかCanaryバージョンになりましたが、今度はNode.jsのバージョンが低いみたい

試しにビルドしてみても同じようなメッセージが出ます。

 

ここからは↓を参考にNode.jsのバージョンを18.18.0以上にあげます

https://qiita.com/siakio/items/99817fc98c633bd3fd21

 

再度、ビルドしてみる

 

なんとか環境が整ったので再度ビルドしてみます

 

無事ビルドできましたー

 

Next.jsとReactのバージョンを戻す

 

Next.jsとReactを最新のバージョンにしました。

が、試験的なバージョンなので元のバージョンに戻しておきます

 

Next.jsから戻すとReactが最新すぎて互換性がなくなるので

React⇒Next.jsの順にバージョンを戻していきます

 

これでバージョンが戻りました!

 

コメント

タイトルとURLをコピーしました