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
nvmのインストール
2025/03/22現在の安定板の最新が
v0.40.2であった
nvmのインストールは、
ログインしている一般ユーザで、
ホームディレクトリでインストール作業をするのが一般的であるとのこと
そのまま
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.2/install.sh | bash
を実行すればよい。
( sudoは使わない)
~/.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
$
Discussion