そろそろ Node も 18かなという感じ。この時点、2022/9/下、 https://nodejs.org/ja/ にて、バージョンは「16.17.0 LTS 推奨版」「18.9.0 最新版」です。
前回記事(2022/2/) AmazonLinux2 に Node.js - hs9587’s diary より少し進んでいるけど、LTS推奨版のメジャーバージョン 16 は変わっていません。それはいいとして、AmazonLinux2 では、glibc とかバージョンが合わなくて、18系は入りません。
そして「りあクト!」の第4版が出て、それが「v18.7.0 って」なので 18系が良いのですが、どうしましょう。りあクト! TypeScriptで始めるつらくないReact開発 第4版【① 言語・環境編】 - くるみ割り書房 ft. React - BOOTH、第4版【② React基礎編】、 第4版【③ React応用編】
目次
Amazon Linux 2022 (AL2022)
前回記事(2022/2/) AmazonLinux2 に Node.js - hs9587’s diary では、Amazon Linux 2 (AL2) を見ていました、その AL2 の次は AL2022 という事です。
Amazon Linux 2022 のプレビューの発表
Comparing Amazon Linux 2 and Amazon Linux 2022 - Amazon Linux 2022
EC2コンソールからの「インスタンスの起動」では、「アプリケーションおよび OS イメージ (Amazon マシンイメージ)」 の選択で、「クイックスタート」には出て来ないの注意、「その他の AMI を閲覧する」で「コミュニティ AMI」になります、検索ワードは「al2022」にしましょう、「Amazon Linux 2022」「Amazon Linux」ではすぐ出てきません。そして日付のついたのが複数出て来るの、新しい日付のをえらべばいいでしょう、minimal じゃなくて良いよね。今カーネルはみんな 5.15 みたい。
glibc のバージョンは上がっています、Node.js 18 (2.27, 2.28以上)には全然余裕です。
Package name | Amazon Linux 2 | Amazon Linux 2022 |
---|---|---|
glibc | 2.26 | 2.34 |
gcc | 7.3 | 11.2 |
binutils | 2.29 | 2.35 |
https://docs.aws.amazon.com/linux/al2022/ug/compare-al2-to-AL2022.html#glibc-gcc-and-binutils
パッケージコマンド「dnf」
パッケージコマンドは「dnf」です。
Package management tool - Amazon Linux 2022
まだ「yum」も使える(dnf のポインターになってる)けど、これからはこちらを使いましょう。
dnf check-release-update
そして時々「dnf check-release-update 」しましょう。たまに
WARNING: A newer release of "Amazon Linux" is available.
とか言われます、適宜「dnf update --releasever=2022.0.<何か>」どうぞ。
パッケージ、nodejs, npm あります
nodejs.x86_64 | 1:18.4.0-1.amzn2022 | amazonlinux |
npm.x86_64 | 1:8.12.1-1.18.4.0.1.amzn2022 | amazonlinux |
パッケージのバージョンは 18.4 です、最新にはなってませんが 18系です。
npm があれば yarn とかも来ます
sudo dnf install nodejs npm -y sudo npm install -g yarn typescript ts-node typesync npm-check-updates
node --version v18.4.0 npm --version 8.12.1 npx --version 8.12.1 yarn --version 1.22.19 ts-node -v v10.9.1
とか。
asdf で nodejs
「りあクト!」第4版のリードに従って、バージョンマネージャ asdf でのインストールもやってみます。
Getting Started | asdf
GitHUB からホームにもってきて、.bashrc .zshrc を調整、asdfコマンド動きます
(0)ec2-user@ip-<何か>[18] asdf --version v0.10.2-7e7a1fa
そして
.default-npm-packages
yarn typescript ts-node typesync npm-check-updates
として
asdf plugin add nodejs asdf install nodejs latest asdf global nodejs latest
すると
node --version v18.9.1 npm --version 8.19.1 npx --version 8.19.1 yarn --version 1.22.19 ts-node -v v10.9.1
とか。いい感じ。
fs.inotify.max_user_watches=65536
あと、手元機の VSCode の ssh拡張から nodejs機をみていると、max_user_watches の制限に引っかかるようなので、調整しておきます
Running Visual Studio Code on Linux
(0)ec2-user@ip-<何か>[30] cat /proc/sys/fs/inotify/max_user_watches 15275 (0)ec2-user@ip-<何か>[33] sudo sed -i.old -e '$afs.inotify.max_user_watches=65536' /etc/sysctl.conf [~] <pts/1> (0)ec2-user@ip-<何か>[34] tail -1 /etc/sysctl.conf fs.inotify.max_user_watches=65536 (0)ec2-user@ip-<何か>[35] sudo sysctl -p fs.inotify.max_user_watches = 65536 [~] <pts/1> (0)ec2-user@ip-<何か> [36] cat /proc/sys/fs/inotify/max_user_watches 65536