nodenvを用いたNode.js環境のセットアップ
Posted on March 21, 2022
by nobiruwa
tl;dr
$ git clone https://github.com/nodenv/nodenv.git $HOME/.nodenv
$ NODENV_HOME="$HOME/.nodenv"
$ NODENV_BIN="$NODENV_HOME/bin"
$ PATH="$NODENV_BIN:$PATH"
$ eval "$(nodenv init -)"
$ mkdir -p $(nodenv root)/plugins
$ git clone https://github.com/nodenv/node-build.git "$(nodenv root)"/plugins/node-build
$ cat << EOF >> ~/.profile
NODENV_HOME="$HOME/.nodenv"
NODENV_BIN="$NODENV_HOME/bin"
if [ -d "$NODENV_BIN" ]; then
export PATH="$NODENV_BIN:$PATH"
# rehash after init, because my login shell is dash.
eval "$(nodenv init --no-rehash -)"
(nodenv rehash &) 2> /dev/null
fi
EOF
動機
jEnvを用いたJava環境のセットアップと同じく、プログラミング言語の開発環境をrbenv/rbenvのフォークであるnodenv/nodenvによって構築したいと思いました。
セットアップ
nodenvのチェックアウト
nodenv
リポジトリをチェックアウトします。
場所は公式に合わせて~/.nodenv
とします。
さらに、node-build
リポジトリをnodenvのプラグインとしてチェックアウトします。
$ git clone https://github.com/nodenv/nodenv.git $HOME/.nodenv
# 一時的に`$HOME/.nodenv/bin`を`$PATH`に追加してnode-buildをインストールする
$ NODENV_HOME="$HOME/.nodenv"
$ NODENV_BIN="$NODENV_HOME/bin"
$ PATH="$NODENV_BIN:$PATH"
$ eval "$(nodenv init -)"
$ mkdir -p $(nodenv root)/plugins
$ git clone https://github.com/nodenv/node-build.git "$(nodenv root)"/plugins/node-build
~/.profile
の記述
~/.profile
にて、環境変数PATH
を設定します。
NODENV_HOME="$HOME/.nodenv"
NODENV_BIN="$NODENV_HOME/bin"
if [ -d "$NODENV_BIN" ]; then
export PATH="$NODENV_BIN:$PATH"
# rehash after init, because my login shell is dash.
eval "$(nodenv init --no-rehash -)"
(nodenv rehash &) 2> /dev/null
fi
Node.jsのインストール
nodenv install
コマンドで~/.nodenv/versions
配下に特定のバージョンのNode.jsをインストールします。
# インストール可能なバージョンを列挙する
$ nodenv install --list
# 16.14.2をインストールする場合
$ nodenv install 16.14.2
登録されたNode.jsは下記のコマンドで確認できます。
$ nodenv versions
なお、npm i -g
コマンドは~/.nodenv/versions/<nodenv versionsで列挙されるバージョン文字列>
ディレクトリ配下にインストールされます。
これだけではコマンドを使用可能になりませんので、nodenv rehash
コマンドを実行してください。
すべてのバージョンのbin
ディレクトリを更新するので少々時間がかかります。
グローバルのNode.js環境
グローバルのNode.js環境を指定します。
$ nodenv global <nodenv versionsで列挙されるバージョン文字列>
ローカルのNode.js環境
ローカルのNode.js環境を設定するには、以下のコマンドを実行します。
$ cd <設定したいディレクトリ>
$ nodenv local <nodenv versionsで列挙されるバージョン文字列>
nodenv local
を実行したディレクトリには.node-version
ファイルが生成されます。
nodenv local
を実行したディレクトリとその子孫ディレクトリで実行するnode
/npm
コマンド等は、.node-version
で指定されたNode.js環境のものが使用されます。