この記事はG's ACADEMY【技術記事書いてみた編】 Advent Calendar 2025、12/10投稿分となります
G’s FUKUOKA Dev03期、現役のバックエンドエンジニア、そして2025年よりチューターとして関わらせていただくことになりました、自称筋肉担当です。
Claude Codeが使えなくなったので再度環境を作り直した手順をまとめます。
事象整理(起きたこと)
- ある日突然
claude実行でzsh: command not found: claude - Node の LTS を更新した直後だったため、原因候補は PATH / Node切替による global npm の分離 / インストール方式の競合かも
- だいぶ前に環境を作ったので…どんな手順で行ったか覚えてない
- これを機に作り直す
前提(環境・変更点)
- PC環境:Mac(macOS)
- シェル:zsh
- Node 管理:nvm
- Node 環境を 22 → 24 に更新
- 2025/12 時点の LTS(Node 24 系)へアップデートした直後に、
claudeが突然見つからなくなった
「本当に PATH にいないのか」を確認する
やること
claudeが PATH にいるか・別名/別パスに存在するかを確認
command -v claude || echo "claude not in PATH"
type -a claude 2>/dev/null || trueNode / npm の状況確認
Node更新が絡む場合は必須。
- Node/npm の実体・バージョン確認(nvm 配下か、brew 配下か、etc.)
node -v
npm -v
which node
which npmnvm のバージョン並走状況を確認
やること
- Node を複数入れていると「Nodeごとに global npm が別世界」なので、どれが active か・何が残っているかを把握
command -v nvm >/dev/null && nvm ls(今回の状態:v18 / v20 / v22 / v24 が並走(まじか)、default は lts/* -> v24)
なぜnvmで管理しているかは個人的に管理しやすいから。これ以外の管理方法でもOK。
どの Node に npm版 claude が入っているかを棚卸し
やること
- Nodeごとに global npm を確認し、claude が「どの Node にだけいる/いない」を特定
これで「Node更新が原因で消えた」の正体(=別バージョンに残ってただけ)を突き止める。
for v in 18.14.2 20.11.0 22.17.0 24.11.1; do
nvm use $v >/dev/null
echo "== node $(node -v) =="
npm -g ls --depth=0 2>/dev/null | grep -E "claude|anthropic" || echo "(no claude)"
done(今回の結果)
- v22 にだけ
@anthropic-ai/[email protected] - v24(普段使いの LTS)には無し
対策方針を決める
再発防止のため “ネイティブ版” に寄せる。
やること
- npm版は Node 切替で見失いやすいので、Homebrew管理(ネイティブ)に統一して安定化する
以降「Node更新したらclaude消えた」が起きにくい(はずだと信じたい)
brew install --cask claude-code
exec zsh -lインストールできたかdoctor でチェック
やること
claudeがどの方式で動いているか(brew か npm か)を doctor で確定させる
type -a claude
which claude
claude doctorclaudeは/opt/homebrew/bin/claudepackage-manager (homebrew)と表示- Auto-updates は package manager 管理
競合(混線)状態を予防
(任意だが推奨したい)
やること
- nvm の特定 Node(今回 v22)に npm版 claude が残っていると、将来
nvm use 22した瞬間に“別のclaude”が出てきて混乱する - npm版を削除して brew版一本化
nvm use 22.17.0 >/dev/null
npm -g rm @anthropic-ai/claude-code
最後に余談、これを機に古いNodeを整理整頓する。
古い Node を整理(任意)
やること
- 古い Node を残す理由がなければ削除、将来の混線を減らす
nvm uninstall 18.14.2
nvm uninstall 20.11.0まとめ
command not foundの正体は「消えた」ではなく、Node切替(nvm)により npm の global が分離された- 普段使いの Node(v24) 側から見えなくなった可能性が高い(気がする)
- 対策として Homebrew(cask) の Claude Code に統一し、
claude doctorで brew 管理で動作していることを確定 - 再発防止として nvm 側に残っていた npm版 claude を削除(任意)、古い Node バージョンも整理(任意)
- claude codeが推奨するやり方を踏襲して環境は作る方がいい
TomoMemo.dev