🔰はじめての方へ

【Claude Code】ターミナルで起動できない時の対処法

AI
記事内に広告が含まれています。
スポンサーリンク

はじめに

Claude Code をターミナルから使おうとしたところ、エラーが発生して起動できなくなっていました。

(普段は「claude」と入力するだけで使用することができます)

以前は問題なく使えていたのに、ある日突然動かなくなったケースです。

本記事では、実際に遭遇したエラーとその解決手順を時系列で紹介します。

環境

  • macOS
  • シェル:zsh
  • パッケージマネージャ:npm(Homebrew経由でインストール)
  • Claude Code:過去に一度インストール・使用済み

発生したエラーと対処法

エラー1:zsh: permission denied: claude

ターミナルで claude と入力したところ、以下のエラーが表示されました。

zsh: permission denied: claude

原因

claude コマンドに実行権限がない状態でした。

調査手順

まず、claude コマンドがどこにあるか確認しました。

which claude

(( 結果:claude not found ))

which で見つからなかったため、npm のグローバルインストール先を確認しました。

npm config get prefix

(( 結果:/opt/homebrew ))

直接ファイルの存在を確認しました。

ls /opt/homebrew/bin/claude

(( 結果:ファイルは存在していました。 ))

対処

実行権限を付与しました。

chmod +x /opt/homebrew/bin/claude

エラー2:claude native binary not installed

実行権限を付与後、再度 claude を実行したところ、今度は別のエラーが表示されました。

Error: claude native binary not installed.

Either postinstall did not run (--ignore-scripts, some pnpm configs)
or the platform-native optional dependency was not downloaded
(--omit=optional).

原因

Claude Code のインストールが中途半端な状態になっていました。

コマンドファイル自体は存在するものの、動作に必要なネイティブバイナリが欠落していたためです。

対処

再インストールを試みました。

npm install -g @anthropic-ai/claude-code --force

エラー3:ENOTEMPTY: directory not empty

再インストール時に以下のエラーが発生しました。

npm error code ENOTEMPTY
npm error syscall rename
npm error ENOTEMPTY: directory not empty, rename '/opt/homebrew/lib/node_modules/@anthropic-ai/claude-code' -> ...

原因

npm は再インストール時に古いフォルダをリネーム(一時退避)してから新しいファイルを配置しますが、

壊れた状態の既存フォルダが邪魔をしてリネーム処理が失敗していました。

対処

既存ファイルを手動で削除してから再インストールしました。

sudo rm -rf /opt/homebrew/lib/node_modules/@anthropic-ai/claude-code
npm install -g @anthropic-ai/claude-code

sudo を実行するとパスワードを求められますが、これは Macのログインパスワードです。

入力時に画面に文字は表示されませんが、正常に入力されています。

これで無事に claude コマンドが使えるようになりました。

そもそも何が起きていたのか

流れをまとめると以下の通りです。

  1. 最初のインストール時は正常に動作していた
  2. その後、アップデート等が中途半端に走った 
     — Claude Code は頻繁にバージョン更新されるため、何らかのタイミングで更新処理(postinstall スクリプト)が正常に完了しなかった
  3. コマンドファイルは残っているが中身が壊れた「半壊」状態になった 
     — ファイルは存在するので ls では見つかるが、実行に必要なバイナリが欠落
  4. 壊れたファイルが再インストールも妨害した 
     — npm のリネーム処理が失敗し、通常の方法では上書きできなかった

今後同じことが起きたら

以下の2コマンドで解決できます。

sudo rm -rf /opt/homebrew/lib/node_modules/@anthropic-ai/claude-code
npm install -g @anthropic-ai/claude-code

補足:よく使う調査コマンド

コマンド用途
which claudeclaude コマンドの場所を確認
npm config get prefixnpm のグローバルインストール先を確認
echo $PATHPATH に含まれるディレクトリを確認
node --versionNode.js のバージョン確認(18以上が必要)
chmod +x ファイルパス実行権限を付与

まとめ

「以前は使えていたのに急に動かなくなった」という場合、アップデートの失敗による半壊状態が原因であることがあります。

既存ファイルを手動削除してからクリーンインストールするのが確実な解決策です。