🛠️
Claude Code CLIで「Auto-update failed」になった原因と対処
Claude Code CLIで「Auto-update failed」になった原因と対処
はじめに
Claude Codeで気づいたら右下で「auto-update failed」なるものが出ていて、どうやらupdateが失敗しているっぽいメッセージが出ていました。CLI自体は問題なく動いている(ように見える)けど、実際はどうなんだろうか……。
とりあえずこの不具合を解消してみました。
対処してみた
とりあえず再インストールすると
npm i -g @anthropic-ai/claude-code
エラーが出ます。
npm error code ENOTEMPTY
npm error syscall rename
npm error path /Users/<ユーザー名>/.nvm/versions/node/v20.19.4/lib/node_modules/@anthropic-ai/claude-code
npm error dest /Users/<ユーザー名>/.nvm/versions/node/v20.19.4/lib/node_modules/@anthropic-ai/.claude-code-XXXXX
npm error ENOTEMPTY: directory not empty, rename ...
解決方法はシンプルで、claude-code-XXXXX
のような一時ディレクトリを削除してから再インストールするだけです。
# 一時ディレクトリを削除
rm -rf /Users/<ユーザー名>/.nvm/versions/node/v20.19.4/lib/node_modules/@anthropic-ai/.claude-code-*
# 再インストール
npm i -g @anthropic-ai/claude-code
これで完了。エラーは解消されました👏
何が起こっていたのでしょう
GitHubのIssueにも同様の報告がありました。
直接の原因はnpmの処理ですが、nvm環境だと特に再現しやすいらしいです。
こんな原因らしいです:
- nvmはNode.jsのバージョンごとにグローバルモジュールを別パスで管理する
- しかし、この途中で処理が中断されると、その一時ディレクトリが残ったままになる
- 残留したもので衝突が発生する
学びです。そういえば、最近nvmでごにょごにょしたな。それが原因かもしれません。
この問題を回避するには
公式が提供している**ネイティブインストーラー(npm非依存)**を使うと、この種の問題は回避できるらしいです。
curl -fsSL https://claude.ai/install.sh | bash
まとめ
気になっていたエラーが解消できてスッキリ。
Discussion