はじめに
CentOSの乗り換え先として、Rockyつかってますか?Almaつかってますか?
私は、AlmaLinuxに乗り換えたので、備忘録的に書いています。
公式に書かれている方法と違うのでご容赦を・・・
Node.jsの公式は、以下からどうぞ。
https://nodejs.org/ja/download
公式では、fnm, nvm, Dockerでインストールを推奨しているようですね・・・
私は、dnfだけで処理したいと思っているので、dnf+moduleで管理したいと思います。
dnf の初期状態を確認する。
dnf list nodejs npm
利用可能なパッケージ
nodejs.x86_64 1:16.20.2-8.el9_4 appstream
npm.x86_64 1:8.19.4-1.16.20.2.8.el9_4 appstream
デフォルトでは、nodejsがv16で、 npmがv8になっているようですね・・・
モジュールを確認してみる
dnf module list nodejs
AlmaLinux 9 - AppStream
Name Stream Profiles Summary
nodejs 18 common [d], development, minimal, s2i Javascript runtime
nodejs 20 common [d], development, minimal, s2i Javascript runtime
nodejs 22 common [d], development, minimal, s2i Javascript runtime
v19や、v20が飛ばされているのは、LTS(Long-Term Support)じゃないからなのでしょうね。優しい世界です。
v22までは対応しているとのことなので、折角なので、22を入れましょう。
nodejsをモジュールのv22に切替える
dnf module -y enable nodejs:22
これだけで、取りあえず22に切り替えができたはずなので、再度確認します。
dnf list nodejs npm
利用可能なパッケージ
nodejs.x86_64 1:22.11.0-1.module_el9.5.0+133+189bb514 appstream
npm.x86_64 1:10.9.0-1.22.11.0.1.module_el9.5.0+133+189bb514 appstream
おぉ!node.jsがv22、npmがv10に無事に切り替わりましたね!
node.jsとnpmをインストール
dnf list nodejs npm
====================================================================================================
パッケージ Arch バージョン Repo サイズ
====================================================================================================
インストール:
nodejs x86_64 1:22.11.0-1.module_el9.5.0+133+189bb514 appstream 1.9 M
npm x86_64 1:10.9.0-1.22.11.0.1.module_el9.5.0+133+189bb514 appstream 2.1 M
依存関係のインストール:
nodejs-libs x86_64 1:22.11.0-1.module_el9.5.0+133+189bb514 appstream 19 M
弱い依存関係のインストール:
nodejs-docs noarch 1:22.11.0-1.module_el9.5.0+133+189bb514 appstream 8.5 M
nodejs-full-i18n x86_64 1:22.11.0-1.module_el9.5.0+133+189bb514 appstream 8.4 M
ということで、yesを選んでインストールをしてしまいましょう。
最後にインストールされたバージョンを念のために確認します。
node --version
v22.11.0
npm --version
10.9.0
はい。ということで、インストールは終了です。お疲れ様でした・・・。
番外編)モジュールをデフォルトに戻したい
「変更するときは、戻すことも考えろ!」と誰かが言ったとき言わないとか・・・ですので、モジュールをリセットする方法も一応書いておきましょう。
dnf module reset nodejs
ということで、備忘録終了です。
enjoy!!