如何在 Cargo.toml 中指定位于我的主目录中的依赖项的路径?

Vla*_*sZs 5 rust rust-cargo toml

我想使用位于我的主目录中的本地包。默认情况下,Cargo 搜索相对于 Cargo.toml 的依赖项。如果我知道我的项目相对于主文件夹的位置,我可以执行以下操作:

[dependencies]
tools = { path = "../../rust_libs/tools" }
Run Code Online (Sandbox Code Playgroud)

我并不总是知道我的项目位于哪里,我想做这样的事情:

[dependencies]
tools = { path = "${HOME}/rust_libs/tools" }
Run Code Online (Sandbox Code Playgroud)

如何获取 Cargo.toml 内部的主路径?也许还有其他方法可以实现这一目标?

Dmi*_*try 7

您可以尝试使用本机 linux 软链接来解决此问题:

  1. 使用命令~/rust_libs/tools在您的目录中创建一个软链接:Cargo.toml
ln -s ~/rust_libs/tools
Run Code Online (Sandbox Code Playgroud)
  1. Cargo.toml使用相对路径:
[dependencies]
tools = { path = "tools" }
Run Code Online (Sandbox Code Playgroud)