超推奨 NodeJS を管理する nodebrew のインストール

nodebrew とは

NodeJS のバージョン管理ツール。
yum や wget でも NodeJS をインストールできるし、
なんとなく管理はできるけど nodebrew のほうが NodeJS に特化しているので、
nodebrew のほうが断然使いやすい。

npm も最初から使える。

例えば、 NodeJS のバージョンをコマンド一発で切り替えれたり、
npm -g install でインストールしたグローバルなパッケージを NodeJS のバージョン毎に管理できる機能などが用意されている。

あるプロジェクトで古いバージョンの NodeJs でしか動かせないレガシーなパッケージを使用している反面、
新規プロジェクトでは最新バージョンの NodeJS が必要という時にも使える。

NodeJS のバージョンを上げる作業も楽。

インストールの前に

もし既に NodeJS が入っていたら削除する。

# もしNodeが既にインストールされていたら削除する
$ node -v

# 削除方法 その1
$ curl -o uninstall-node.sh https://gist.githubusercontent.com/nicerobot/2697848/raw/uninstall-node.sh
$ chmod u+x uninstall-node.sh
$ ./uninstall-node.sh
$ rm uninstall-node.sh
$ sudo rm -rf /usr/local/include/node
$ sudo rm -rf /usr/local/lib/dtrace
$ rm -rf ~/.node-gyp
$ rm -rf ~/.npm
$ rm -rf ~/.sourcemint

# 削除方法 その2
$ yum remove -y nodejs npm

# 削除方法 その3
$ npm uninstall npm -g

# 削除方法 その4
$ cd node/package/dir/
$ make uninstall

nodebrew のインストール

$ curl -L git.io/nodebrew | perl - setup
# nodebrew コマンドを一時的に使えるようにする
$ export PATH=$HOME/.nodebrew/current/bin:$PATH
# バージョン確認
$ nodebrew

NodeJS のインストール

# リモートサーバーで管理している NodeJS のバージョン一覧
$ nodebrew ls-remote
# バージョンを指定して NodeJS をインストール ex) v18.5.0, io@v3.3.1
$ nodebrew install-binary v18.5.0
# nodebrew で管理している NodeJS のバージョン一覧
$ nodebrew ls
# どのバージョンを使用するかを指定する ex) v18.5.0, io@v3.3.1
$ nodebrew use v18.5.0
# バージョン確認
$ node -v
v18.5.0

エラーが出た場合

$ node -v
node: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by node)
node: /lib64/libc.so.6: version `GLIBC_2.25' not found (required by node)
node: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by node)
node: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by node)
node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by node)
node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by node)

GLIBC_2.27 not found while installing Node on Amazon EC2 instance - stackoverflow
によると、 node v16.x 使いましょうとのこと。

nodebrew コマンドを使えるようにする

通常は .bashrc で zsh を使用している方は .zshrc を編集する

$ cd

# bash or zsh にパスを通す
$ vi .zshrc
# もしくは
$ vi .bashrc

# 下記の行を追加
export PATH=$HOME/.nodebrew/current/bin:$PATH

パッケージの移行

グローバルインストール (npm install -g xxxxx) したパッケージはバージョン毎に管理される。
そのためバージョンを切り替えるとパッケージもバージョン毎にインストールする必要がある。

nodebrew はコマンド一発でパッケージを移行させることができる。

# v4.2.0 にグローバルインストールされているパッケージを現在のバージョンに移行させる。
$ nodebrew migrate-package v4.2.0

npm

nodebrew で NodeJS をインストールすると、
npm も使えるようになっている。

$ npm -v