Skip to content

原文(日本語に翻訳)

マーケットプレイス更新でgitサブモジュールが同期されない問題を修正 — サブモジュール内のプラグインソースが更新後に壊れなくなった

原文(英語)

Fixed marketplace update not syncing git submodules — plugin sources in submodules no longer break after update

概要

マーケットプレイスのプラグインを更新した際に、gitサブモジュールが適切に同期されずサブモジュール内のプラグインソースが壊れる問題が修正されました。修正後は、マーケットプレイス更新時にgitサブモジュールも自動的に同期されるため、サブモジュールを使用したプラグインの更新が正常に動作します。

基本的な使い方

bash
# マーケットプレイスの更新(修正後はサブモジュールも同期)
/plugin update

# または全プラグイン更新
/plugin update --all

実践例

gitサブモジュールを含むプラグインの更新

bash
# 更新前の状態確認
/plugin list  # インストール済みプラグインの確認

# 更新実行(修正後はサブモジュールも含めて更新)
/plugin update my-submodule-plugin

# 更新後の確認
/plugin info my-submodule-plugin

サブモジュールベースのプラグイン構造

gitサブモジュールを使用したプラグインの典型的な構造:

plugins/
├── main-plugin/
│   ├── plugin.json
│   ├── skills/
│   └── submodules/
│       ├── helper-lib/     ← gitサブモジュール
│       └── shared-tools/   ← gitサブモジュール
bash
# サブモジュールの状態を手動確認
cd ~/.claude/plugins/my-plugin
git submodule status
git submodule update --init --recursive

修正前の回避策(参考)

バージョン2.1.74以前では、手動でサブモジュールを更新する必要がありました:

bash
# 修正前の手動回避策
cd ~/.claude/plugins/my-plugin
git pull
git submodule update --init --recursive

# 修正後はこの作業が不要

プラグイン更新後のトラブルシューティング

bash
# プラグインが正常に動作しない場合
/plugin remove my-plugin
/plugin install my-plugin  # 再インストール

# または設定をリセット
claude plugin reset my-plugin

注意点

  • この修正はgitサブモジュールを使用したプラグインにのみ影響します
  • 通常のgitリポジトリベースのプラグインは影響を受けていませんでした
  • サブモジュールが正しく設定されていないプラグインは修正後も問題が残る可能性があります
  • プラグイン開発者はgitサブモジュールを正しく設定することが推奨されます

関連情報