原文(日本語に翻訳)
マーケットプレイス更新で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サブモジュールを正しく設定することが推奨されます
関連情報
- Claude Code プラグイン開発ガイド
- Git サブモジュール公式ドキュメント
- 関連修正:
/plugin installREPL修正(2.1.74-plugin-install-repl-fix.md)