Claude Code Claude Code Node.js nvm Volta エラー対処 トラブルシューティング ネイティブインストール 開発環境

「Node.js version 18 or higher」エラーの意味と、まず確認すべき一点

このエラーは、メッセージが示すとおり Claude Code の起動に使われる Node.js(サーバーサイドで JavaScript を動かす実行環境)のバージョンに関するものです。バージョンが18未満、あるいは Node.js そのものが見つからないケースが典型です。プロジェクトの中身や Claude のアカウント種別、Claude Code のバージョンよりも先に、まず起動環境の Node を確認するのが近道です。

確認することは一つ。ターミナルで node -v を実行してください。18未満なら Node を更新すれば直ります。すでに v18 以上と出るのにエラーが消えないなら、シェルと Claude Code が見ている Node が食い違う「検出失敗」なので、最後のセクションへ進んでください。

エラーを解決する手順 — コストの低い順に

最も手軽なのは Node 本体の更新です。LTS(長期サポート版)を入れ、ターミナルを開き直してから node -v を再確認します。18以上になっていれば、たいていはこれで終わりです。

それでも消えないなら、次の二つを疑います。

nvm・Volta などバージョン管理ツールを使っている場合の落とし穴

nvm(Node のバージョンを切り替えるツール)や Volta を使っていると、シェルで見える Node と Claude Code が実際に起動する Node がずれることがあります。特に注意したいのが GUI からの起動です。エディタの統合ターミナルのように、シェルの初期化ファイル(.bashrc.zshrc)を読み込まずに立ち上がった環境では nvm が有効化されず、システムに残った古い Node、あるいは Node なしの状態で動いてしまいます。VS Code で Claude Code を使っているなら、まず OS のシェルから直接 claude を起動し、症状が消えるかどうかで切り分けてください。

npm 版からネイティブインストールへ切り替えて Node 由来の問題を避ける

npm install -g で入れた npm 版は、Node のパッケージ管理ツールである npm 経由でインストールします。公式ドキュメントはネイティブインストールを推奨としており、追加依存として挙げているのは ripgrep のみで Node.js の記載はありません。Node 由来の問題を避けたい場合は、このネイティブインストールへの切り替えが選択肢になります。macOS・Linux・WSL なら次の一行です。

curl -fsSL https://claude.ai/install.sh | bash

ネイティブ版はバックグラウンドで自動更新されるので、更新忘れの心配もありません。切り替え前に npm 版をアンインストールしておくと、PATH の取り違えを防げます。

npm版とネイティブ版でNode依存が変わる
npm版とネイティブ版でNode依存が変わる

node -v が18以上なのにエラーが消えないとき — 検出失敗という既知パターン

シェルでは18以上なのにエラーが出続けるのは、バージョンではなく検出の問題です。「正しいランタイムなのに Node バージョン検出が失敗する」症状は GitHub でも報告があり(#8439)、エディタ更新をきっかけに再発したケースも挙がっています(#26883)。

切り分けは、まず Claude Code 自体を最新へ更新すること。次に which claudewhich node で実体のパスを確認し、想定外の Node を掴んでいないか見ます。仕上げに claude doctor を実行すればインストール状態が診断され、問題なければ 2.1.211(Claude Code)のようにバージョンが表示されます。ここまでで異常が見つからず、それでも再発するなら、深追いせず上記の GitHub issue で最新状況を追うのが早道です。