👌
Claude Codeが突然使えなくなった時の解決法
問題の症状
昨日まで正常に動作していた claude
コマンドが、突然以下のエラーで動かなくなった
$ claude
zsh: command not found: claude
🔍 原因の調査
1. インストール状況の確認
まず、Claude Codeがインストールされているか確認
$ npm -g list
/Users/x/.local/share/fnm/node-versions/v22.18.0/installation/lib
├── @anthropic-ai/claude-code@
├── corepack@0.33.0
└── npm@11.5.2
パッケージ自体はインストールされていることが確認
2. 実行ファイルの確認
次に、実際の実行ファイルがどこにあるか確認
$ ls -la /Users/x/.local/share/fnm/node-versions/v22.18.0/installation/bin/
出力結果:
lrwxr-xr-x@ 1 x staff 52 9 10 23:00 .claude-X7tXWpYu -> ../lib/node_modules/@anthropic-ai/claude-code/cli.js
💡 原因の特定
問題は、Claude Codeの実行ファイルが .claude-X7tXWpYu
という隠しファイル名(ドットで始まる一時的な名前)になっていたことでした。
通常は claude
という名前のシンボリックリンクが作成されるはずが、何らかの理由で正しくリンクが作成されていない
考えられる原因
- npmのインストール/アップデート中の不具合
- 権限の問題
- fnmのNode.jsバージョン切り替え時の問題
✅ 解決方法
クリーンな再インストール
最も確実な解決方法は、完全に削除してから再インストールすること
# 1. 既存のClaude Codeを手動で削除
rm -rf /Users/x/.local/share/fnm/node-versions/v22.18.0/installation/lib/node_modules/@anthropic-ai/claude-code
rm -f /Users/x/.local/share/fnm/node-versions/v22.18.0/installation/bin/.claude-*
# 2. クリーンな状態で再インストール
npm install -g @anthropic-ai/claude-code
🎯 なぜこれで解決したのか
-
不完全なシンボリックリンクの削除
-
.claude-X7tXWpYu
のような一時的な名前のリンクを削除
-
-
パッケージの完全削除
-
node_modules
内のClaude Code本体も削除して、残骸を完全にクリーンアップ
-
-
正常な再インストール
- npmが正しいシンボリックリンク(
claude
)を作成 - 実行パスが正しく設定される
- npmが正しいシンボリックリンク(
🔧 予防策
今後同じ問題を避けるために:
-
定期的なnpmキャッシュのクリア
npm cache clean --force
-
fnm使用時の注意点
- Node.jsのバージョンを切り替えた後は、グローバルパッケージの確認を行う
- 必要に応じて再インストール
-
アンインストール時のエラーに注意
-
ENOTEMPTY
エラーが出た場合は、手動削除してから再インストール
-
📝 まとめ
fnm環境でnpmのグローバルパッケージのシンボリックリンクが壊れた場合、通常の npm uninstall
では解決できないこ。その場合は、手動で関連ファイルを削除してからクリーンインストールすることで解決できる。
この方法は、Claude Codeに限らず、他のnpmグローバルパッケージでも同様の問題が発生した場合に応用可
Discussion