fix(dev): hook 失败改为 raise SourceError 而非静默警告

全局包安装失败原本只 print 警告,decman 退出码仍为 0,违反声明式语义。
改为汇总后 raise decman.SourceError,符合官方 docstring 推荐(失败应被感知,
下次 sync 会重试)。保留"尝试所有包"逻辑,一次性看到全部失败。
This commit is contained in:
2026-04-08 12:37:49 +08:00
parent 04d517a2c2
commit f626c12e49
+4 -4
View File
@@ -78,7 +78,7 @@ class DevModule(Module):
except Exception as e:
failures.append(f"go: {pkg} ({e})")
if failures:
print(f"\n{len(failures)} 个全局包安装失败:")
for f in failures:
print(f" - {f}")
print()
raise decman.SourceError(
f"{len(failures)} 个全局包安装失败:\n"
+ "\n".join(f" - {f}" for f in failures)
)