Rust 项目中的工作区内依赖关系

Intra-workspace dependencies in a Rust project

我有以下来自 workspace RFC 的板条箱布局:

Cargo.toml
src/
  lib.rs
dep1/
  Cargo.toml
  src/
    lib.rs
dep2/
  Cargo.toml
  src/
    lib.rs

我需要 dep2 导入 dep1 crate 和根 crate。

  1. 常规方式是什么?
  2. 有没有办法通过相对于根而不是相对于 dep2 引用板条箱来做到这一点?

声明 "dep2" 的依赖关系没有什么特别之处;它与任何其他箱子一样。您可以通过尝试轻松测试它:

[dependencies.the_name_of_the_root_package]
path = "../"

[dependencies.dep1]
path = "../dep1"

不,路径没有 "from the root" 选项。在项目的生命周期中,除了一两次外,你不会移动你的板条箱,所以这在实践中应该不是问题。