Node.jsバージョンをプロジェクトごとに自動で切り替える設定をnvmを使って実現
きむおば
このブログではアフィリエイト・アドセンス広告を利用しています
当ブログでは、アドセンス・アフィリエイト広告を掲載しています。
消費者庁が発表しているルールに沿って記事を作成していますが、問題のある表現を見つけた際にはご連絡ください。
プロジェクトごとに使用するNode.jsのバージョンが異なることはよくある話です。
今回は、Node.jsバージョン管理マネージャー「nvm」を使って、プロジェクトごとに自動でNode.jsのバージョンが勝手に切り替わるようになる設定方法の備忘録です。
目次(読みたいところへジャンプ!)
nvmのインストールはこちらから
>>>nvm公式
brewでのインストールを推奨していないようなので、公式のReadmeを参照してインストールしてください。
プロジェクト単位でNode.jsのバージョンを切り替える「.nvmrc」
プロジェクトごとにNode.jsのバージョン管理をするために使用するのは.nvmrcファイルです。このファイルには使用するNodeのバージョンだけを記述しておきます。
20.11.1
.nvmrcファイルがある状態でnvm use
コマンドを叩くと、.nvmrcに記述されているNode.jsを使用するようになります。そのバージョンがインストールされていないなら、自動でインストールしてくれます。
ただ、nvm use
コマンド打つの忘れがちではありませんか?
私は忘れてしまいます。
そこで、次の自動で.nvmrcファイルを参照してnvm use
コマンドを実行する命令を.zshrcファイルに記述しておきます。
nvm useを自動実行するよう.zshrcに記述する内容
こちらも最新の設定情報はnvm公式のReadmeを参照するのが安心です。
現時点でReadMeに記述されている設定内容はこちら。
# place this after nvm initialization!
autoload -U add-zsh-hook
load-nvmrc() {
local nvmrc_path
nvmrc_path="$(nvm_find_nvmrc)"
if [ -n "$nvmrc_path" ]; then
local nvmrc_node_version
nvmrc_node_version=$(nvm version "$(cat "${nvmrc_path}")")
if [ "$nvmrc_node_version" = "N/A" ]; then
nvm install
elif [ "$nvmrc_node_version" != "$(nvm version)" ]; then
nvm use
fi
elif [ -n "$(PWD=$OLDPWD nvm_find_nvmrc)" ] && [ "$(nvm version)" != "$(nvm version default)" ]; then
echo "Reverting to nvm default version"
nvm use default
fi
}
add-zsh-hook chpwd load-nvmrc
load-nvmrc
これで、いちいちnvm use
しなくても自動でプロジェクトで使用すべきNode.jsが自動でインストールされ、current指定されるようになります。
お試しください。