1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Claude Codeのアップデート失敗(ENOTEMPTY)に対処。ワンコマンドで解決するSkillを開発した。

1
Last updated at Posted at 2026-03-12

はじめに

ターミナルから直接AIを呼び出せる Claude Code、日々の開発や研究で使い倒している方も多いと思います。非常に強力なツールですが、頻繁に行われるアップデートの際に地味なストレスを抱えていませんか?

Node.jsのバージョン管理に nvm を使っている環境で、npm install -g @anthropic-ai/claude-code を実行してアップデートしようとすると、ENOTEMPTY というエラーが頻発することがあります。

この煩わしいエラーを完全に回避し、一発で安全に最新版へアップデートできるClaude Code用の拡張Skill「update-claude-skill」を作成し、公開しました!

🔗 amu815/update-claude-skill (GitHub)

解決したかった課題:ENOTEMPTYエラーの正体

nvm 環境下でnpmパッケージをグローバルにインプレースアップグレード(上書き更新)しようとすると、npmが既存のパッケージディレクトリをリネームしようとします。
この際、ファイルがまだ使用中であったり、ファイルシステム上の競合状態が発生したりすると、以下のようなエラーが出てアップデートが失敗します。

npm error code ENOTEMPTY
npm error syscall rename
npm error path /home/user/.nvm/versions/node/v22.x.x/lib/node_modules/@anthropic-ai/claude-code

これが発生するたびに、手動で該当のディレクトリを探して削除してから再インストールする必要があり、非常に面倒でした。

アプローチ:古いディレクトリを消してクリーンインストールする

仕組みは非常にシンプルです。
インプレースアップグレードが失敗するなら、「事前に古いパッケージディレクトリを完全に削除(rm -rf)してから、最新版をクリーンインストールする」というアプローチをとります。

npm root -g コマンドを使うことで、現在のNode.jsバージョンに対応する正しいグローバルパッケージパスを動的に解決できるため、安全かつ確実にディレクトリを特定して削除できます。

これを自動で行うシェル関数 update-claude を、お使いの環境にサクッとインストールするSkillを作りました。

インストールと使い方

1. Skillとしてのインストール(推奨)

Claude Codeの機能を活用してインストールするのが最も簡単です。ターミナルで以下を実行します。

npx skills add amu815/update-claude-skill -g -y

その後、Claude Codeを起動して以下のようにプロンプトを投げるか、直接コマンドを呼び出します。

  • Claude Codeに 「update-claudeスキルをインストールして」 とお願いする
  • または /update-claude を実行する

これで、お使いのシェルの設定ファイル(.zshrc.bashrcなど)に、安全なアップデート用の関数が自動で追記されます。

(※Claude Codeを経由せず、手動で設定ファイルに追記するワンライナーも GitHubのREADME に記載しています)

2. アップデートの実行

インストール後は、ターミナルで以下のコマンドを叩くだけです。

update-claude

このコマンドを実行すると、以下の処理が自動で行われます。

  1. 現在のClaude Codeのバージョンを表示
  2. 古いパッケージディレクトリを安全に削除
  3. 最新バージョンをクリーンインストール
  4. インストール完了後に新しいバージョン番号を表示して成功を確認

おわりに

毎日使うツールのメンテナンスは、思考のコンテキストを切らさないためにも極力ストレスフリーにしたいものです。
私と同じように nvm 環境でClaude Codeを使っていて、アップデートのたびに ENOTEMPTY に悩まされている方は、ぜひ導入してみてください!

動作確認やフィードバック、Issueなどがあれば、GitHubのリポジトリでお待ちしております!

🔗 リポジトリ: amu815/update-claude-skill

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?