問題
- nodenvでNode.jsバージョンごとに独立したパッケージ環境
- Claude Codeは
22.12.0
にのみインストール済み - 他のバージョンに切り替えると
claude
コマンドが使えない- 各環境で個別にインストールが必要になる
volta
voltaの場合、パッケージ管理機能によりvolta install
で環境間の移動時も同じバージョンのパッケージを利用できる。
volta install @anthropic-ai/claude-code
22.12.0
にのみインストール済みclaude
コマンドが使えないvoltaの場合、パッケージ管理機能によりvolta install
で環境間の移動時も同じバージョンのパッケージを利用できる。
volta install @anthropic-ai/claude-code
シェルエイリアスでこの問題を解決できる。
使用しているシェルの設定ファイルを編集:
# zshの場合
vim ~/.zshrc
# bashの場合
vim ~/.bashrc
以下のいずれかを追加:
alias claude='NODENV_VERSION=22.12.0 claude'
claude() {
NODENV_VERSION=22.12.0 command claude "$@"
}
# zshの場合
source ~/.zshrc
# bashの場合
source ~/.bashrc
任意のNode.jsバージョンで確認してみる。
# 別のバージョンに切り替え
nodenv local 18.17.0
# Claude Codeが使えることを確認
claude -v
NODENV_VERSION=22.12.0
により、コマンド実行時のみ一時的に Node.js 22.12.0 を使用claude
コマンドが実行されるclaude
コマンドと同じ操作感この設定により、プロジェクトごとに異なるNode.jsバージョンを使用していても、Claude Codeを問題なく利用できる。
ただし、ネイティブインストールの正式版リリースを考慮すると、将来的にはこのエイリアス設定は不要になる可能性が高い。執筆時点ではネイティブインストールがベータ版のため、nodenv使用時の有効な回避策である。