用途:在新操作系统(Windows 或 Linux)上把测试框架或探针跑起来,或调试其在该平台上的失败。建议在平台首次运行前调用。
主要能力:提供一套按顺序爬升的排查阶梯,每一步只隔离一层:1)<binary> --version 证明存在、可执行、能启动;2)带配置/覆盖环境变量再跑,证明特性已编译且覆盖生效;3)安装无脚本的琐碎包(is-odd),验证 fixture、store、linker;4)安装一个会执行脚本的小包,验证受限环境下能派生子进程;5)真实 canary(大体积真实下载)作为最终门禁,而非调试工具。每步只需数秒,某步通过不代表平台可用,应预期下一步失败。
Windows 实测要点:for /f 经 cmd /c 会剥掉最外层引号对,需再包一层引号;未定义 %VAR% 会展开为字面文本,需用 if not defined 加 setlocal 兜底;PATH 上的 .cmd 对部分 CI 不可见,绿色任务不等于该文件被执行;build jail 内 Node 启动会因 ncrypto::CSPRNG 断言失败,应跳过并打印原因;spawnSync 无法运行 npm/npx/pnpm 的 .cmd,应改用 node <path>/node_modules/npm/bin/npm-cli.js;Git Bash 路径需用 cygpath -w 转换;复制的二进制必须保留 .exe 后缀;删除 node_modules 常遇 EPERM,需重试且清理失败不得丢弃已成功的测量;磁盘写满是静默且危险的,建议 200 GB+、用 --profile fast 构建并先查剩余空间;优先用 CI 构建的二进制而非本地装 MSVC。文件系统速度实测约为 Linux 的 6 倍,但安装时间实测仅约 1.5–2 倍,不可外推。
Linux 实测要点:Landlock 授权中不存在的路径会使整个策略无法编译(PolicyNotExpressible);“Landlock unavailable”既可能是旧内核也可能是自身策略编译失败;新云主机无系统 node 且 Rust 构建需 cmake;缺少工具属环境问题而非缺陷;旧 Node 自带旧 npm 在并发下会竞争 _cacache,产生假缺陷结论,应串行复验。
远程操作:SSH 到 Windows 落在 PowerShell,嵌套引号易坏,脚本保持 ASCII;pkill -f 会匹配自身命令行;长任务用 tmux new-session -d 分离;批量文件操作优先用原生工具。
限制:以上为实测经验,具体平台、版本与配置差异可能导致结果不同;未提供的功能、收费与支持信息暂未提供。