Здесь есть два возможных решения.
Добавьте зависимость к вашему ящику как относительный путь:
Предполагается, что структура проекта следующая:
project
|__hellow_crate
|__hello_project
Затем вы можете изменить файл Cargo.toml в hellow_project, чтобы он выглядел следующим образом:
[package]
name = "hello_project"
version = "0.1.0"
authors = ["John <john@123gmail.com>"]
[dependencies]
hellow_crate = { path = "../hellow_crate" }
Использовать рабочее пространство:
Если hellow_crate используется только hello_project и не будет использоваться в качестве зависимости для другого независимого проекта, имеет смысл включить его как часть рабочего пространства.
В этом случае структура каталогов становится следующей:
hello_project
|__hellow_crate
| |__src
| | |__lib.rs
| |__Cargo.toml
| |__Cargo.lock
|__src
| |__main.rs
|__Cargo.lock
|__Cargo.toml
И измените файл Cargo.toml hello_project, чтобы он выглядел так:
[package]
name = "hello_project"
version = "0.1.0"
authors = ["John <john@123gmail.com>"]
[workspace]
members = [ "hellow_crate" ]
[dependencies]
hellow_crate = { path = "hellow_crate" }
Это имеет преимущество в том, что Cargo компилирует весь код в единый целевой каталог, и позволяет запускать все тесты проекта и ящика с помощью cargo test --all
.