🙌

【AWS】EC2でnode18系を入れた際のエラーとダウングレードによる解決

2023/08/17に公開

ec2を触っていた時に出たエラーと解決策を残します。

エラー内容

next.jsを動かす用のec2を立てて、nodeのインストールを行なっていた際に下記のエラーが発生しました。
この時点でのnodeバージョンは「18.5.0」です。

$ node -v
node: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by node)
node: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by node)

この時点での打ち手としては、node18系のメジャーバージョン内で変えてみたり、bashrc内のnvmに関する設定を修正したりしましたが、原因の特定には至りませんでした。

原因

aws公式ドキュメントより抜粋

解決策

公式の通りに、nodeのバージョンを16系にダウングレードします。
nodeコマンドが通りました。

$ nvm install v16.14.0
Downloading and installing node v16.14.0...
Downloading https://nodejs.org/dist/v16.14.0/node-v16.14.0-linux-x64.tar.xz...
############################################################################################################################################################ 100.0%
Computing checksum with sha256sum
Checksums matched!
nvm useNow using node v16.14.0 (npm v8.3.1)

$ nvm use v16.14.0
Now using node v16.14.0 (npm v8.3.1)

$ node -v
v16.14.0

ちなみに、18より上の19系でも同様のエラーが発生します。

$ nvm use v19.0.0
Now using node v19.0.0
$ node -v
node: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by node)
node: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by node)

学び

公式ドキュメントをまず参照すべき。

Discussion