Cargo workspaces 用于有多个子包的项目

    Cargo 曾经有两个组织层次:

    • 一个 package 有一个或多个 crates
    • 一个 workspace 包含一个或多个 packages

    这对于大型项目非常有用。例如,the package 是一个 workspace,包含许多相关的包:

    • futures-util
    • futures-channel

    Workspaces 允许单独开发这些包,但它们共享一组依赖项,因此只有单个 target 目录和单个 Cargo.lock