🙌
【AWS】EC2でnode18系を入れた際のエラーとダウングレードによる解決
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