原文(日本語に翻訳)
マーケットプレイスがgitリポジトリに紐づくローカルフォルダパスとして追加されている場合に、プラグインの依存関係のバージョン固定が尊重されない問題を修正
原文(英語)
Fixed plugin dependency version pins not being honored when the marketplace was added as a local folder path backed by a git repo
概要
プラグインのマーケットプレイスを、gitリポジトリに紐づいたローカルフォルダパスとして追加した場合に、プラグインの依存関係(dependencies)で指定したバージョン固定(version pins)が無視されてしまうバグがありました。リモートURLでマーケットプレイスを追加した場合は問題なく動作していましたが、ローカル開発時によく使われる「gitリポジトリをローカルパスとして参照する」構成では、指定したバージョンと異なるバージョンの依存プラグインがインストールされることがありました。v2.1.196でこの問題が修正され、ローカルフォルダパスのマーケットプレイスでもバージョン固定が正しく適用されます。
基本的な使い方
bash
# gitリポジトリのローカルクローンをマーケットプレイスとして追加
/plugin marketplace add ./local-marketplacejson
// marketplace.json でのプラグイン依存関係の指定例
{
"plugins": [
{
"name": "main-plugin",
"source": "./plugins/main-plugin",
"dependencies": {
"helper-plugin": "1.2.0"
}
}
]
}実践例
gitリポジトリ連携のローカルマーケットプレイス追加
bash
# gitリポジトリをクローンしてローカルマーケットプレイスとして使用
git clone https://github.com/myorg/claude-plugins.git marketplace
/plugin marketplace add ./marketplace依存関係バージョン固定の設定例
json
// .claude-plugin/marketplace.json
{
"plugins": [
{
"name": "base-utilities",
"source": "./plugins/base-utilities",
"version": "1.0.0"
},
{
"name": "code-analyzer",
"source": "./plugins/code-analyzer",
"version": "2.1.0",
"dependencies": {
"base-utilities": "1.0.0"
}
}
]
}修正前後の挙動比較
【修正前】
/plugin marketplace add ./marketplace (gitバックエンドのローカルパス)
/plugin install code-analyzer
→ dependencies で指定した "base-utilities": "1.0.0" が無視され、
意図しないバージョンの base-utilities がインストールされることがあった
【修正後】
/plugin marketplace add ./marketplace (gitバックエンドのローカルパス)
/plugin install code-analyzer
→ dependencies で指定したバージョンが正しく解決され、
base-utilities@1.0.0 がインストールされる注意点
- 影響を受けるのは、gitリポジトリに紐づくローカルフォルダパスとしてマーケットプレイスを追加した場合のみです。リモートのgit URLやHTTP(S)経由で追加したマーケットプレイスはこのバージョン以前から正しく動作していました
- チームで開発中のプラグインマーケットプレイスをローカル参照している場合は、アップグレード後にバージョン固定の挙動が変わる(正しく適用されるようになる)点に注意してください
- 依存バージョンの指定は固定値(例:
1.0.0)のほか、セマンティックバージョニングの範囲指定もサポートされます