ツー

日常の記録

Amazon Linux2でnode v20が動かないので古いnode v16を入れる

経緯

放置しすぎた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

変に依存が無くてこっちのが楽じゃん!!

まとめ

それはそれとして早くAmazon Linux 2023に移行しようね。