経緯
放置しすぎたAmazon Linux2で作ってあったCI用のコンテナが動かなくなったので色々調べると、Amazon Linux2上ではNode v20が動かないらしい。
自分もGitHub Actions上で下記のエラーが出まくっていた。
/__e/node20/bin/node: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by /__e/node20/bin/node) /__e/node20/bin/node: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by /__e/node20/bin/node)
上記Issueで対処方法が色々書いてあるがうまくいかない。
色々調べるとAmazon Linux2上でNode v20がうごかないのはどうしようもなく、v16まで落とさざるを得ないらしい。
対処方法
Amazon Linux2でのインストール方法は下記に書いてある。
nvmは便利だが、どちらかというと人間が使う物なのでDockerで使うみたいな時には向かない。
インストール方法
どうしようかと思ったけどインストーラーを使わずに普通に手動でインストールすればいいじゃんねといまさら気が付いた。
全ビルドしようかなと思ったけどprebuildがあるっぽいのでそれを使う。
Node.js — Download Node.js® Step by step instructions to install node and npm using Linux binaries - DEV Community
yum -y install tar gzip xz
curl -O https://nodejs.org/dist/v16.20.2/node-v16.20.2-linux-x64.tar.xz
tar Jxvf node-v16.20.2-linux-x64.tar.xz
cp -r .node-v16.20.2-linux-x64/{lib,share,include,bin} /usr
rm -Rf node-v16.20.2-linux-x64
変に依存が無くてこっちのが楽じゃん!!