现象
同一工程的 .mcpp/.xlings.json 里注册 两个及以上 项目级 index repo 时,
xlings interface install_packages 对任意包安装静默失败:NDJSON 只有
{"exitCode":1,"kind":"result"},无任何 error 事件;mcpp 侧只能报出
error: fetch '<pkg>@<ver>' failed (exit 1),完全无法定位。
单 repo 一切正常。与 repo 名是否为内建 mcpplibs、URL 是否相同均无关:
| index_repos |
安装 compat:compat.imgui@1.92.8 |
结果 |
[compat] |
✓ |
exit 0 |
[mcpplibs](装 mcpplibs:… 包) |
✓ |
exit 0 |
[compat, mcpplibs](同 URL) |
✗ |
静默 exit 1 |
[compat, fmtlib](同 URL,无 mcpplibs) |
✗ |
静默 exit 1 |
[compat, mcpplibs](不同 URL) |
✗ |
静默 exit 1 |
复现(xlings 0.4.62,mcpp 0.0.97 发行包 vendored 同版本):
# 沙箱:XLINGS_PROJECT_DIR 下 .xlings.json 含两个 path repo(指向任意含 pkgs/ 的本地索引)
cd ~/.mcpp/registry && env PATH="$HOME/.mcpp/registry/subos/default/bin:$PATH" \
XLINGS_HOME=$HOME/.mcpp/registry XLINGS_PROJECT_DIR=<sandbox> \
~/.mcpp/registry/bin/xlings interface install_packages \
--args '{"targets":["compat:compat.imgui@1.92.8"],"yes":true}'
# → {"exitCode":1,"kind":"result"} (无任何 error 事件)
触发路径与影响
mcpp 0.0.97 起 workspace 根级 [indices] 会被成员继承(#224)——mcpp-index 仓根一次
声明 default/compat/fmtlib/marzer/nlohmann 五个命名空间后,每个成员的 .xlings.json
都有 5 个 repo,所有未缓存包的安装全部失败。这实质上把 #224 的根级集中化 + R6 的
default 重定向组合用法(mcpp-index 的目标形态)挡死了:目前只能退回"每成员单命名空间
声明"(单 repo 恰好能用)。
期望
- 多项目级 index repo 正常工作(mcpp-index 的成员天然需要 default + compat 组合);
- 失败时至少发一个 error 事件(kind:"error", message),不要裸 exitCode=1——
这次定位花了一整轮二分,全部信息只有一个数字。
环境
xlings 0.4.62(mcpp 0.0.97 vendored)· linux x86_64
现象
同一工程的
.mcpp/.xlings.json里注册 两个及以上 项目级 index repo 时,xlings interface install_packages对任意包安装静默失败:NDJSON 只有{"exitCode":1,"kind":"result"},无任何 error 事件;mcpp 侧只能报出error: fetch '<pkg>@<ver>' failed (exit 1),完全无法定位。单 repo 一切正常。与 repo 名是否为内建
mcpplibs、URL 是否相同均无关:[compat][mcpplibs](装 mcpplibs:… 包)[compat, mcpplibs](同 URL)[compat, fmtlib](同 URL,无 mcpplibs)[compat, mcpplibs](不同 URL)复现(xlings 0.4.62,mcpp 0.0.97 发行包 vendored 同版本):
触发路径与影响
mcpp 0.0.97 起 workspace 根级
[indices]会被成员继承(#224)——mcpp-index 仓根一次声明
default/compat/fmtlib/marzer/nlohmann五个命名空间后,每个成员的 .xlings.json都有 5 个 repo,所有未缓存包的安装全部失败。这实质上把 #224 的根级集中化 + R6 的
default 重定向组合用法(mcpp-index 的目标形态)挡死了:目前只能退回"每成员单命名空间
声明"(单 repo 恰好能用)。
期望
这次定位花了一整轮二分,全部信息只有一个数字。
环境
xlings 0.4.62(mcpp 0.0.97 vendored)· linux x86_64