Zenn
💭

nodebrewからnvmへの移行

2025/03/22に公開

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現在の安定板の最新が
https://github.com/nvm-sh/nvm/releases
によると、
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

ログインするとコメントできます