rustrust-cargotoml

How to specify the path to a dependency located in my home directory in Cargo.toml?


I want to use a local package which is located in my home directory. By default, Cargo searches for dependencies relative to Cargo.toml. If I know where my project is located relative to the home folder, I can do something like this:

[dependencies]
tools = { path = "../../rust_libs/tools" }

I don't always know where my project is located and I would like to do something like this:

[dependencies]
tools = { path = "${HOME}/rust_libs/tools" }

How can I get the home path inside of Cargo.toml? Maybe there are other ways to achieve this?


Solution

  • You can try to workaround this issue with native linux soft links:

    1. Create a soft link to ~/rust_libs/tools in your Cargo.toml's directory using commad:
    ln -s ~/rust_libs/tools
    
    1. In Cargo.toml just use relative path:
    [dependencies]
    tools = { path = "tools" }