按名称运行项目中已安装的 CLI:

nub exec eslint . --fix
nub exec tsc --noEmit
nub exec vitest run --coverage

nub exec 命令在 node_modules/.bin 链上解析可执行文件——最近的 node_modules/.bin,然后向上遍历父目录到工作区根目录——并直接执行它。它从不访问注册表:当没有匹配项时,打印安装提示并以退出码 127 退出。对于可能需要获取的名称,使用 nubx,它会回退到注册表。

向上遍历在 Rust 中完成,所以 npxpnpm exec 每次调用支付的完整 Node 引导开销几乎消失了。

调度本地已安装 CLI · 50 次运行

nub exec11.6 ms
bun x10.6 ms
pnpm exec175 ms · 慢 15×
npm exec201 ms · 慢 17×

查看基准 →

Yarn Plug'n'Play 项目也可以工作:nub exec 能找到 PnP 注册的 bin,而只遍历 node_modules/.bin 的工具会遗漏。参见模块解析

传递参数

bin 名称之后的所有内容都原封不动转发给它——不需要记住 -- 分隔符。

nub exec eslint . --fix --max-warnings 0

--node

传递 --node 以禁用运行时增强运行 bin——参见运行时概览了解完整约定。

nub exec --node tsc --noEmit

相关