nvm(node.jsのバージョンを複数インストールして切り替えができるようにするためのもの)
nvmとは
node.jsのバージョンを複数インストールして切り替えができるようにするためのもの
Ubuntu(WSL2)にnodebrewを入れて使っていたが、Macや、WSL2環境など
環境を限定されてしまう
nvmの場合は、windows環境も含め、どのプラットフォームでも同じやり方で
使えるため、こちらのほうが便利と考えたため
nvmに乗り換えることにした。
注意!!
WSL2とWindowsの両方で、nvmを使う場合には、
WSL2側で
の対応をすること!!
WSL2だけ、nvmを使ってる場合は、↑はしなくてもいいが、
Windowsも、nvmを使うようにした瞬間に
WSL2側は、windowsのnvm環境を見てしまう問題が発生しますので、
その場合は、↑のノウハウが必要だという意味です!!
nvmのインストール
基本的に、この記事は、WSL2(Ubuntu)環境を前提に書いてます
windows側のインストール
windows側のインストールの話は、
ので、これを参考にしたら、よさそうです。
WSL2側のインストール
ここからの記述は、WSL2(Ubuntu)環境でのインストールの話を書いてます。
2025/03/22現在の安定板の最新が
v0.40.2であった(当記事を初期で書いた時点の話)
nvmのインストールは、
ログインしている一般ユーザで、
ホームディレクトリでインストール作業をするのが一般的であるとのこと
そのまま
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.2/install.sh | bash
を実行すればよい。
( sudoは使わない)
★ 補足)★
上記の「curlではじまるコマンドライン」は、
にて、縦スクロールしていき、
の部分に書かれたものから拾いましょう。
~/.bashrc
の末尾に、自動で必要な設定値が追加書き込みされるので、
source ~/.bashrc
で再読み込みした後、
nvm --version
で、バージョン表示されれば、nvm自体はインストールができたことを確認できる
$ cd
$ pwd
/home/myuser
$
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.2/install.sh | bash
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 16631 100 16631 0 0 3142 0 0:00:05 0:00:05 --:--:-- 4127
=> Downloading nvm from git to '/home/myuser/.nvm'
=> Cloning into '/home/myuser/.nvm'...
remote: Enumerating objects: 382, done.
remote: Counting objects: 100% (382/382), done.
remote: Compressing objects: 100% (325/325), done.
remote: Total 382 (delta 43), reused 178 (delta 29), pack-reused 0 (from 0)
Receiving objects: 100% (382/382), 386.80 KiB | 811.00 KiB/s, done.
Resolving deltas: 100% (43/43), done.
* (HEAD detached at FETCH_HEAD)
master
=> Compressing and cleaning up git repository
=> Appending nvm source string to /home/myuser/.bashrc
=> Appending bash_completion source string to /home/myuser/.bashrc
=> You currently have modules installed globally with `npm`. These will no
=> longer be linked to the active version of Node when you install a new node
=> with `nvm`; and they may (depending on how you construct your `$PATH`)
=> override the binaries of modules installed with `nvm`:
C:\Users\ookaw\AppData\Local\nvm\v22.14.0
+-- corepack@0.31.0
=> If you wish to uninstall them at a later point (or re-install them under your
=> `nvm` node installs), you can remove them from the system Node as follows:
$ nvm use system
$ npm uninstall -g a_module
=> Close and reopen your terminal to start using nvm or run the following to use it now:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
$
上記で、この部分が「~/.bashrc」に自動的に追加されるので
後は、「source ~/.bashrc」で、それを読み込めばよい。
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
$ source ~/.bashrc
$
$ nvm --version
0.40.2
$
nvmのバージョンが表示されたので、nvm自体はインストールできた
nvmを使ってnodeやnpmのLTSの最新版をインストールする
nvm ls
しても現状、何も入ってない
$ nvm ls
N/A
iojs -> N/A (default)
node -> stable (-> N/A) (default)
unstable -> N/A (default)
nvm install --lts
で、LTSの最新版をインストールする
$ nvm install --lts
Installing latest LTS version.
Downloading and installing node v22.14.0...
Downloading https://nodejs.org/dist/v22.14.0/node-v22.14.0-linux-x64.tar.xz...
################################################################################################################# 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v22.14.0 (npm v10.9.2)
Creating default alias: default -> lts/* (-> v22.14.0)
確認
$ node -v
v22.14.0
$ npm -v
10.9.2
$
$ which node
/home/myuser/.nvm/versions/node/v22.14.0/bin/node
$ which npm
/home/myuser/.nvm/versions/node/v22.14.0/bin/npm
$
端末にインストールされているnvmが最新版かどうかは
を見て
一番上で、
の記号がついてるバージョン番号を確認しましょう。
と、
nvm -v を打ち込んで端末にインストールされているnvmのバージョン
$ nvm -v
0.40.3
を比較すればよい。
2025/07/28時点、0.40.3の最新版があり、端末側のnvmが0.40.2であったため
後続で記述した要領にて、上書きインストールにて
nvmを「0.40.3」にアップデートしたのである。
( そのついでに、当記事を更新していった )
上書きインストールでnvmのバージョンアップができた。追記(2025/07/28)
nvmのバージョン「0.40.3」が出ていることに気が付いた
上記の方法で以前、nvmのバージョン「0.40.2」をインストールしていた
下記の方法で、nvmのバージョン「0.40.3」へ上書きインストールできた
作業前に、nvm --versionで、「0.40.2」を確認した。
$ nvm --version
0.40.2
nvmのバージョン「0.40.3」へ上書きインストール
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 16631 100 16631 0 0 369k 0 --:--:-- --:--:-- --:--:-- 377k
=> nvm is already installed in /home/myUser/.nvm, trying to update using git
=> => Compressing and cleaning up git repository
=> nvm source string already in /home/myUser/.bashrc
=> bash_completion source string already in /home/myUser/.bashrc
=> Close and reopen your terminal to start using nvm or run the following to use it now:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
source ~/.bashrc
で再読み込み
$ source ~/.bashrc
$
作業後に、nvm --versionで、「0.40.3」を確認した。
$ nvm --version
0.40.3
「nvm install --lts」で最新版のLTSを適用。大元のnvmで、nodeとnpmの組み合わせをセットでバージョンを最新化したり、戻したりするのがnvmを使う上でのやり方
上記でnvmを「0.40.3」にした後で、
「nvm install --lts」で最新版のLTSを適用し、
nodeとnpmの組み合わせをセットで最新化
その前後で、「nvm ls」で状況を確認
実施前で「nvm ls」
$ nvm ls
-> v22.14.0
default -> lts/* (-> v22.14.0)
iojs -> N/A (default)
unstable -> N/A (default)
node -> stable (-> v22.14.0) (default)
stable -> 22.14 (-> v22.14.0) (default)
lts/* -> lts/jod (-> v22.14.0)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.17.0 (-> N/A)
lts/dubnium -> v10.24.1 (-> N/A)
lts/erbium -> v12.22.12 (-> N/A)
lts/fermium -> v14.21.3 (-> N/A)
lts/gallium -> v16.20.2 (-> N/A)
lts/hydrogen -> v18.20.7 (-> N/A)
lts/iron -> v20.19.0 (-> N/A)
lts/jod -> v22.14.0
「nvm install --lts」を実施
$ nvm install --lts
Installing latest LTS version.
Downloading and installing node v22.17.1...
Downloading https://nodejs.org/dist/v22.17.1/node-v22.17.1-linux-x64.tar.xz...
########################################################################################################################################################################################################## 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v22.17.1 (npm v10.9.2)
実施後で「nvm ls」
$ nvm ls
v22.14.0
-> v22.17.1
default -> lts/* (-> v22.17.1)
iojs -> N/A (default)
unstable -> N/A (default)
node -> stable (-> v22.17.1) (default)
stable -> 22.17 (-> v22.17.1) (default)
lts/* -> lts/jod (-> v22.17.1)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.17.0 (-> N/A)
lts/dubnium -> v10.24.1 (-> N/A)
lts/erbium -> v12.22.12 (-> N/A)
lts/fermium -> v14.21.3 (-> N/A)
lts/gallium -> v16.20.2 (-> N/A)
lts/hydrogen -> v18.20.8 (-> N/A)
lts/iron -> v20.19.4 (-> N/A)
lts/jod -> v22.17.1
LTS「v22.14.0」からLTS「v22.17.1」へ環境を変えた
補足「もし、旧バージョンLTS「v22.14.0」へ戻したかったら」
もし、旧バージョンLTS「v22.14.0」へ戻したかったら
一時的(今のシェル(ターミナル)セッションのみ)戻すには、
nvm use v22.14.0
恒久的に(次回以降ターミナルを開いたとき)戻すには、
nvm alias default v22.14.0
一時的にも、恒久的にも戻したければ
両方やる。
nvm alias default v22.14.0
だけやると、
次回以降ターミナルを開いたときには、効くが、
今のシェル(ターミナル)セッションは、戻らないとのこと
nodebrewからの乗り換え
一旦、nodebrewを削除する
ここでは、nodebrewを削除、nvmのインストールという流れを取りました。
nvmへの移行を考えた経緯
Ubuntu(WSL2)にnodebrewを入れて使っていたが、
別に、nodebrewにこだわってたわけではない
複数のNode.jsのバージョンを切り替えられる方法が欲しかっただけ
最近、nvmの情報をちらほらみることがあり、詳細は割愛するが
nvmのほうがよさそうだと感じた
そこで、今のnodebrewをいったん、削除し、nvmをインストールすることにした。
私は、もともと、nodebrewがある状況で
nodebrewを削除して、nvmのインストールしたが、
別になにも入ってなく、純粋にnvmをインストールしたければ、
nvmのインストール
の目次項目から見ればよい。
作業前の状況は下記のとおり
下記のように、nodebrewが入ってる
$ npm -v
10.9.2
$ node -v
v22.14.0
$
$ which npm
/home/myuser/.nodebrew/current/bin/npm
$ which node
/home/myuser/.nodebrew/current/bin/node
$ nodebrew ls
v22.14.0
nodebrewの削除
手順1
~/.bashrc
に、下記のものを追加してたので、その記述を削除した
# nodebrew
export PATH=$HOME/.nodebrew/current/bin:$PATH
手順2
ホームディレクトリで、
「ls -ald .nodebrew/」
が存在するのを見る
rm -rf ~/.nodebrew
で「.nodebrew」のフォルダを、まるごと削除する。
「ls -ald .nodebrew/」
で、無くなっているのを確認する。
source ~/.bashrc
をする
which npm
which node
で、何も表示されないことを確認する。
node -vや、nodebrew
で、command not found
となることを見る
$ pwd
/home/myuser
$ ls -ald .nodebrew/
drwxr-xr-x 7 myuser mygoup 4096 Mar 13 20:43 .nodebrew/
$ rm -rf ~/.nodebrew
$ ls -ald .nodebrew/
ls: cannot access '.nodebrew/': No such file or directory
$
$ source ~/.bashrc
$
$ which npm
$ which node
$
$ node -v
Command 'node' not found, but can be installed with:
sudo apt install nodejs
$ nodebrew
nodebrew: command not found
上記で、nodebrewを削除した後、
nvmのインストール
で、nvmのインストールを行った。
Discussion