如何在Cargo工作区中构建helper包时同步构建worker包?
可行,有两种常用方案实现需求
方案一:给helper添加对worker的依赖
如果helper不需要调用worker的代码,只是需要构建时同步触发worker的构建,可以在helper/Cargo.toml中添加可选依赖或构建依赖(避免代码层面的强制绑定):
# helper/Cargo.toml # 可选依赖:不会强制编译进helper产物,仅触发构建 [dependencies] worker = { path = "../worker", optional = true } # 或者用构建依赖:仅在helper的构建阶段生效,不影响最终二进制产物 [build-dependencies] worker = { path = "../worker" }
执行cargo build -p helper时,Cargo会自动构建worker,因为helper声明了对它的依赖关系。
方案二:自定义Cargo别名
在根目录的Cargo.toml中添加一个自定义命令别名,把构建helper和worker的操作打包:
# 根目录Cargo.toml [alias] build-helper = "build -p helper -p worker"
之后只需执行cargo build-helper,就能一次性完成helper和worker的构建,操作更简洁。
内容的提问来源于stack exchange,提问作者s0me0ne
相关产品推荐
相关产品推荐

