問題
- nodenvでNode.jsバージョンごとに独立したパッケージ環境
- Claude Codeは
22.12.0にのみインストール済み - 他のバージョンに切り替えると
claudeコマンドが使えない
volta
voltaの場合、パッケージ管理機能によりvolta installで環境間の移動時も同じバージョンのパッケージを利用できる。
volta install @anthropic-ai/claude-code
https://www.voltajs.com/reference/install.html
解決策
シェルエイリアスでこの問題を解決できる。
1. エイリアスを設定
使用しているシェルの設定ファイルを編集:
vim ~/.zshrc
vim ~/.bashrc
以下のいずれかを追加:
alias claude='NODENV_VERSION=22.12.0 claude'
claude() {
NODENV_VERSION=22.12.0 command claude "$@"
}
2. 設定を反映
source ~/.zshrc
source ~/.bashrc
3. 動作確認
任意のNode.jsバージョンで確認してみる。
nodenv local 18.17.0
claude -v
動作の仕組み
- Claude Codeは Node.js 22.12.0 環境にインストールされている
NODENV_VERSION=22.12.0 により、コマンド実行時のみ一時的に Node.js 22.12.0 を使用- エイリアス経由で常に 22.12.0 環境の
claude コマンドが実行される - 現在のNode.jsバージョンに関係なく、同じコマンドで利用可能
この方法の利点
- 1行追加するだけで設定完了
- インストール済みバージョンの固定指定により動作が安定
- 通常の
claudeコマンドと同じ操作感
この設定により、プロジェクトごとに異なるNode.jsバージョンを使用していても、Claude Codeを問題なく利用できる。