Skip to content
Discussion options

You must be logged in to vote

两件事可以分开看:bundle 列表被补回,和首启装依赖的竞态。

bundle 列表的自动合并逻辑在 packages/boot/plugin-manager/src/operations.ts:100-125:包操作完成后,会把这次"新出现的依赖"里带 bundle 元数据的名字补进 dsh.profile.bundles(:117-122);插件页的开关只改列表本身(packages/boot/plugin-manager/src/index.ts:1294-1296)。没有"用户禁用"这个持久标记,所以从列表里移除之后,下一次包操作就可能把它当成待补齐的 bundle 重新写回来。至于升级迁移具体在哪一步写回,我这边没能从树里定到唯一路径,这点标记为推断。

首启 sessionController 不可用是安装和启动的竞态:依赖安装(14:01:22)和第一次挂载在同一分钟,核心 bundle 还没落齐;你第二次启动全部 active,说明加载本身没问题。

临时处置:升级后先完整退出再启动一次;想守住禁用状态,除了从 dsh.profile.bundles 移除,也把对应包从 package.json 的 dependencies 里去掉,这样 reconcile 没有可补回的来源。

这段可以交给 AI,让它按你 profile 里的实际列表核对;如果这条解决了你的问题,可以标成 answer,后面遇到同样问题的人更容易找到。

Replies: 3 comments

Comment options

You must be logged in to vote
0 replies
Answer selected by mjdndd
Comment options

You must be logged in to vote
0 replies
Comment options

You must be logged in to vote
0 replies
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
3 participants