nodenv と volta は共存できるのか
共存可能だけど direnv 使うなりなんなりの工夫は必要。
いろいろ面倒で不安定な参照順とか考えずに direnv 使ったほうが楽だし確実。 .envrc を書いて、volta 優先したいプロジェクトでは↓のようにするだけ。 code:.envrc
export VOLTA_HOME="$HOME/.volta"
export PATH="$VOLTA_HOME/bin:$PATH"
nodenv のときは↓のようにするだけ
code:.envrc
export NODENV_ROOT="${NODENV_ROOT:-$HOME/.nodenv}"
eval "$(nodenv init -)"
fi
nodenv の場合は nodenv init - で PATH が更新できるのでそれでよい。
実は .zshrc とかで package.json を見て volta 設定があれば volta を優先する、みたいな if 文がかけたりするんじゃないか?と思ってるけど考えてない。 ひとまずもっともコスパのいい direnv で今は満足している。