CentOSからRockyLinuxへ移行してみた

CentOSからRockyLinuxへ移行してみた

目次

CentOS7 に node18 を入れようとすると…

ローカルでは Gatsby4 から 5 への移行が出来たので、サーバー側でも上手くいくか試してみる。

Gatsby5 は node18 を推奨とのことだったので、サーバー(CentOS7)に node18 をインストールして、使おうとすると…

node: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by node)
node: /lib64/libc.so.6: version `GLIBC_2.25' not found (required by node)
node: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by node)
node: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by node)
node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by node)
node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by node)

上記の様なエラーが出た。

対処する方法もあるみたいだけど、CentOS7 のサポートも来年で切れるみたいなので、これを機に他の OS に移行してみる事に…

OS の再インストールをしてみる

CentOS7 からの移行には、ELevateみたいな移行ツールもあるみたいですが、忘れているであろう Linux の設定等の復習も兼ねて、移行ツールは使わずに OS の再インストールをしてみました。

どの OS にしようかと思ったんですが、何となくで RockyLinux を使ってみることに。

上記のガイドなどを参考にしながら、基本的な設定を行いました。

Nginx や Let's Encrypt をインストール

RockyLinux の標準リポジトリにある Nginx は古いみたいなので、以下の記事を参考に Nginx をインストール。

Let's Encrypt のインストールは前回もやったはずなんだけど、すっかり手順を忘れていたので、以下の記事を参考にさせて頂きました。

今回は記事内にもある様に、以下のコマンドを使ってインストールしました。

certbot --nginx

Nginx 側の設定を、いい感じにやってくれます。

yarn install してみたら…

あとは node18 をインストールして、Gatsby5 のプロジェクトを Github から pull してきて、yarn install を実行。

There appears to be trouble with your network connection. Retrying...

上記のエラーが表示され、強制終了。

何度やっても強制終了してしまうので、yarn ではなく npm でインストールしてみても、強制終了してしまう。

ググってみたら、タイムアウト時間を設定してあげると良いとのことだったので、試してみても再び強制終了。

一旦、4 に戻してみる

Gatsby のバージョンを 5 にしたのが原因なのかな? とか思ったので、一旦 バージョンを 4 に戻してみる。

node も 17 にして、再度 yarn install してみました。

There appears to be trouble with your network connection. Retrying...

結果は変わらず。

タイムアウト時間を設定しても、駄目。

CentOS7 の時はタイムアウト時間を設定しなくても、yarn install ですんなりインストール出来たのになぁ…

OS を変更したことだったり、あとはサーバーのスペックの問題とかなの?

契約しているサーバーの更新がもうすぐだったこともあり、試しにサーバーのスペックを一つ上のものへと変更してみました。

で、再び yarn install してみると…

タイムアウト時間を設定しなくても、あっさりインストールが完了。

その後 gatsby build を行なっても、エラーは出ず。

5 に戻してみる

Gatsby 4 が動くことが分かったので、次に 5 もちゃんと動くか試してみる。

node の 18 に切り替えて、再び yarn install してみると…

<--- JS stacktrace --->

FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory

タイムアウトのエラーにはならなかったものの、今度は上記の様なエラーが表示されました。

上記の記事を参考にさせて頂き、yarn install 時に max-old-space-size を設定してあげることで、無事インストールが完了。

インストールが終わったので、gatsby build をしてみたら、新たなエラーが…