Skip to content

原文(日本語に翻訳)

プラグインのエラー処理を改善しました。依存関係エラーで競合、無効、過度に複雑なバージョン要件を区別するようになりました。プラグイン更新後の古いバージョン解決を修正しました。プラグインのインストールが中断された場合の復旧もできるようになりました。

原文(英語)

Improved plugin error handling: dependency errors now distinguish conflicting, invalid, and overly complex version requirements; fixed stale resolved versions after plugin update; plugin install now recovers from interrupted prior installs.

概要

Claude Code v2.1.111では、プラグインシステムのエラー処理が大幅に改善されました。依存関係エラーのメッセージが詳細化され、競合・無効・複雑なバージョン要件を明確に区別できるようになりました。また、プラグイン更新後に古いバージョン情報が残る問題と、インストールが中断された場合の復旧機能も改善されました。

基本的な使い方

プラグインのインストール

/plugins install <plugin-name>

プラグインの更新

/plugins update <plugin-name>
# または全プラグインを更新
/plugins update

プラグイン一覧と状態確認

/plugins list

実践例

依存関係エラーの詳細なメッセージ確認

# プラグインAがプラグインBの特定バージョンを要求する場合

# バージョン競合エラー(変更後の詳細メッセージ):
# Error: 依存関係の競合が発生しました
#   plugin-a が plugin-b >= 2.0.0 を要求
#   plugin-c が plugin-b <= 1.5.0 を要求
#   現在インストール済み: plugin-b 1.8.0
# 解決策: plugin-aまたはplugin-cのバージョンを変更してください

# 無効なバージョン要件エラー:
# Error: 無効なバージョン要件です
#   plugin-a が plugin-b "latest-stable" を要求(セマンティックバージョニングではない)

# 複雑すぎるバージョン要件エラー:
# Error: バージョン要件が複雑すぎます
#   plugin-a が plugin-b ">= 1.0.0, < 2.0.0, != 1.5.x, || >= 3.0.0" を要求

プラグイン更新後のバージョン解決修正

# 変更前(バグ):
/plugins install plugin-a  # v1.0.0がインストールされる
/plugins update plugin-a   # v2.0.0に更新
/plugins list
# → plugin-a v1.0.0と表示される(古い情報が残っていた)

# 変更後(修正済み):
/plugins update plugin-a   # v2.0.0に更新
/plugins list
# → plugin-a v2.0.0と正しく表示される

中断されたインストールからの復旧

# 変更前(問題):
# インストール中にCtrl+Cで中断すると、以降のインストールが失敗することがあった
# Error: 破損した部分的なインストールが検出されました

# 変更後(修正済み):
# 中断されたインストールを検出して自動復旧
/plugins install plugin-name
# → "以前のインストールが中断されています。クリーンアップして再試行します..."
# → インストールが正常に完了する

依存関係の競合を解決するワークフロー

# 依存関係の競合が発生した場合の対処フロー
/plugins install problematic-plugin
# Error: 依存関係の競合: plugin-b のバージョン要件が競合しています
#   - plugin-a: >= 2.0.0
#   - plugin-c: <= 1.9.9

# 競合を解決するために古いプラグインを更新
/plugins update plugin-a  # または plugin-c

# 再度インストールを試みる
/plugins install problematic-plugin

注意点

  • 依存関係エラーの3種類の区別:
    • 競合 (conflicting): 2つ以上のプラグインが同じ依存パッケージの互換性のないバージョンを要求する場合
    • 無効 (invalid): バージョン文字列がセマンティックバージョニングの形式に従っていない場合
    • 複雑すぎる (overly complex): バージョン要件の式が解析不可能なほど複雑な場合
  • プラグインのインストールが中断された場合(ネットワーク切断、Ctrl+C等)、次回のインストール試行時に自動的に残骸がクリーンアップされます
  • plugin_errorsフィールドがstream-json出力のinitイベントに追加されたため(v2.1.111の別の修正)、自動化スクリプトでプラグインエラーを検出できます

関連情報