Next.jsでnpm run devできない時の対処法
#Next.js

Next.jsでnpm run devできません。。。。


そんな時ありますよね、、、

自分はそもそもnpmというコマンドに耐性がなく
毎回WARNのlogを見るだけで吐きそうですが..

$ npx create-next-app microcms-next-jamstack-blog
$ cd microcms-next-jamstack-blog
$ npm run dev


microCMSのNextjsを使ったチュートリアルにて事件は起きました。

最後のnpm run devでとりあえずサーバー立ち上げるかといった時にエラーが現れます。。

#
# Fatal error in , line 0
# Check failed: allocator->SetPermissions(reinterpret_cast<void*>(region.begin()), region.size(), PageAllocator::kNoAccess).
#
#
#


上記の例外で引っかかりバックトレースがでできました。。。
permissionだから権限か???
バックトレースでは自分の環境はnode/v15.8.0だという事が書かれている、、、
はて??

まぁとりあえずGoogle先生に投げつける

一発目でM1mac環境で同じエラーが起きている人やnode.jsのissueが出でてきました
https://github.com/nodejs/node/issues/37061

どうやらnodeのバージョンがv15.9.0以下を使用している際に起きる問題のようです

結論、nodeのバージョンを上げましょう!!!


自分はm1Mac環境でnodeのバージョンはnvmでnodeのバージョン管理をしているので
とりあえず下記のコマンドを実施しました

// 使用しているnodeのバージョンを確認
$ nvm ls
// インストール可能なバージョンを確認
$ nvm ls-remote
// v16.18.0   (Latest LTS: Gallium)<-これが最新の安定版ぽいのでインストールする
$ nvm i v16.18.0
// v16.18.0バージョンに変更する。
$ nvm use v16.18.0 
// 再度使用しているnodeのバージョンを確認
$ nvm ls


完了です!!!


そもそもnvmのデフォルトがv15.8.0になっているので
v16.18.0をデフォルトにします
下記のコマンドを実施します

$ nvm alias default v16.18.0
// defaultで使用しているnodeのバージョンを確認
$ nvm ls
default -> v16.18.0


切り替わらない時はターミナルなどを再起動すればおkです

これで完了!!!!!


さてさてnpm run devしますか!

無事ビルド完了しました!!!!!


これでやっとスタート地点に立てました、それでは〜