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 使いましょうとのこと。
もしくは、 OS のバージョンを上げるか、最新の OS がインストールされたサーバーに乗り換える。
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