Plugin distribution
Plugin dependency versions
Plugin dependency versions 这一页讲的,就是 Plugin dependency versions 这件事在 Claude Code 里到底怎么用。
页面信息
这页不是官方原文,而是顺着官方文档结构做的中文解释版。命令、参数、配置名这些硬东西尽量保留,解释部分则尽量讲成人能照着做的话。
如果你碰到特别敏感的配置、权限或企业环境差异,最好顺手点上面的“查看原始文档”再核一遍。
这一页先讲明白
这页主要讲 Plugin dependency versions:Declare version constraints on plugin dependencies so your plugin keeps working when an upstream plugin ships a breaking change.
你可以把它当成"Plugin distribution"这块里专门管这一摊事的说明书。
你可以把"Plugin dependency versions"理解成 Plugin distribution 这一栏里的一把专门工具。这页不是让你背书,而是教你什么时候该把这把工具拿出来。
原文这页大多会按 Why constrain dependency versions、Declare a dependency with a version constraint、Depend on a plugin from another marketplace、Tag plugin releases for version resolution 这些环节往下讲。
翻成人话,大概就是:Why constrain dependency versions
第一,先别一上来全开全配。先按最小一步试通,确认没跑偏,再继续往下加。
第二,命令、配置名、参数名这些硬东西尽量保留原样。人话解释是帮你听懂,不是帮你改关键字。
第三,照着原文这几个环节挨个过:Why constrain dependency versions -> Declare a dependency with a version constraint -> Depend on a plugin from another marketplace -> Tag plugin releases for version resolution。像下地先看水路、再试机器、再正式开干,一步一步最稳。
原页关键片段:Declare a dependency with a version constraint
这会儿轮到改配置了,字段名和关键字别自己乱换。
{
"name": "deploy-kit",
"version": "3.1.0",
"dependencies": [
"audit-logger",
{ "name": "secrets-vault", "version": "~2.1.0" }
]
} 原页关键片段:Depend on a plugin from another marketplace
这一段说完,最后还得写到配置里才算真的生效。
{
"name": "acme-tools",
"owner": { "name": "Acme" },
"allowCrossMarketplaceDependenciesOn": ["acme-shared"],
"plugins": [
{
"name": "deploy-kit",
"source": "./deploy-kit",
"dependencies": [
{ "name": "audit-logger", "marketplace": "acme-shared" }
]
}
]
} 原页关键片段:Tag plugin releases for version resolution
先别急着往下翻,下面这条命令跑完,心里才有底。
claude plugin tag --push 原页关键片段:Remove orphaned auto-installed dependencies 1
先别急着往下翻,下面这条命令跑完,心里才有底。
claude plugin prune 原页关键片段:Remove orphaned auto-installed dependencies 2
先别急着往下翻,下面这条命令跑完,心里才有底。
claude plugin uninstall deploy-kit --prune Documentation Index
这里不是让你背"Documentation Index"这个词,而是让你看它真干活时怎么使。
看这段时要特别盯工具和权限边界,别为了省事一把全开。
Why constrain dependency versions
这一块主要是在说"Why constrain dependency versions"真到手上该怎么用,哪里最容易踩坑。
看这段时要特别盯工具和权限边界,别为了省事一把全开。
Declare a dependency with a version constraint
这一段主要是在把"Declare a dependency with a version constraint"讲实,不是只摆个标题给你看。
Declare a dependency with a version constraint
这会儿轮到改配置了,字段名和关键字别自己乱换。
{
"name": "deploy-kit",
"version": "3.1.0",
"dependencies": [
"audit-logger",
{ "name": "secrets-vault", "version": "~2.1.0" }
]
} Depend on a plugin from another marketplace
看到这里,就把"Depend on a plugin from another marketplace"当成一件真要上手的活来看。
这里还牵扯作用域,意思就是这条规则到底管当前项目、你个人,还是只管这一趟会话。
Depend on a plugin from another marketplace
这一段说完,最后还得写到配置里才算真的生效。
{
"name": "acme-tools",
"owner": { "name": "Acme" },
"allowCrossMarketplaceDependenciesOn": ["acme-shared"],
"plugins": [
{
"name": "deploy-kit",
"source": "./deploy-kit",
"dependencies": [
{ "name": "audit-logger", "marketplace": "acme-shared" }
]
}
]
} Tag plugin releases for version resolution
这一段主要是在把"Tag plugin releases for version resolution"讲实,不是只摆个标题给你看。
看这段时要特别盯工具和权限边界,别为了省事一把全开。
Tag plugin releases for version resolution
先别急着往下翻,下面这条命令跑完,心里才有底。
claude plugin tag --push How constraints interact
这一段更像在讲判断条件,什么时候该上,什么时候先别急。把触发条件看清,比背标题更重要。
看这段时要特别盯工具和权限边界,别为了省事一把全开。
Remove orphaned auto-installed dependencies
这一段主要是在把"Remove orphaned auto-installed dependencies"讲实,不是只摆个标题给你看。
这里还牵扯作用域,意思就是这条规则到底管当前项目、你个人,还是只管这一趟会话。
Remove orphaned auto-installed dependencies 1
先别急着往下翻,下面这条命令跑完,心里才有底。
claude plugin prune Remove orphaned auto-installed dependencies 2
先别急着往下翻,下面这条命令跑完,心里才有底。
claude plugin uninstall deploy-kit --prune Resolve dependency errors
这一段主要是在把"Resolve dependency errors"讲实,不是只摆个标题给你看。
看这段时要特别盯工具和权限边界,别为了省事一把全开。
See also
这一段是在教你把 plugins: build plugins with skills, agents, and hooks 真正建出来。文件放哪儿、字段怎么写、建完怎么验,都得跟着看。
如果你打算把外接能力往里挂,这里提到的 hooks、MCP、skills、memory 都要分清各自负责哪一摊。
照着做一遍
如果你不想来回翻,就先照这几步顺着做。
每做完一步就看一下结果,再决定要不要继续往下。
第 1 步:Declare a dependency with a version constraint
这会儿轮到改配置了,字段名和关键字别自己乱换。
{
"name": "deploy-kit",
"version": "3.1.0",
"dependencies": [
"audit-logger",
{ "name": "secrets-vault", "version": "~2.1.0" }
]
} 第 2 步:Depend on a plugin from another marketplace
这一段说完,最后还得写到配置里才算真的生效。
{
"name": "acme-tools",
"owner": { "name": "Acme" },
"allowCrossMarketplaceDependenciesOn": ["acme-shared"],
"plugins": [
{
"name": "deploy-kit",
"source": "./deploy-kit",
"dependencies": [
{ "name": "audit-logger", "marketplace": "acme-shared" }
]
}
]
} 第 3 步:Tag plugin releases for version resolution
先别急着往下翻,下面这条命令跑完,心里才有底。
claude plugin tag --push 第 4 步:Remove orphaned auto-installed dependencies 1
先别急着往下翻,下面这条命令跑完,心里才有底。
claude plugin prune 一眼看懂这一页
先把这页到底在讲什么看明白,再去碰具体命令和配置,最不容易绕晕。
Plugin dependency versions
|
v
这是 Plugin distribution 里的一摊要紧活
|
v
先弄懂,再下手 文末提醒
这站会按官方 docs 的导航和内容变化继续重生成,原站加页、删页、改页时,这里会跟着更新。
人话解释会尽量顺着原页往下讲,但命令、参数名、配置名这些硬东西还是保留原样,免得你抄过去跑不起来。