Локальная зависимость не найдена - PullRequest
0 голосов
/ 29 апреля 2019

У меня есть проект, содержащий два (двоичных) пакета, front- и backend. Оба созданы и управляются грузом самостоятельно. В веб-интерфейсе я хочу получить доступ к некоторым типам, объявленным в бэкэнде, поэтому я добавил к Cargo.toml:

веб-интерфейса
[dependencies.myapp-backend]
path = "../myapp-backend"

Это соответствует структуре моей папки, а cargo-run не жалуется. Тем не менее, я не могу использовать ящик во внешнем интерфейсе: когда я добавляю extern crate myapp-backend (или один из вариантов с или без _ вместо -) к моему внешнему интерфейсу main.rs, компилятор кричит мне, что он не могу найти ящик.

Чтобы проверить, оценивается ли вообще весь оператор зависимостей в Cargo.toml, я перевернул несколько букв, которые дали мне мгновенную ошибку компиляции (поэтому оценивается ). Кроме того, я заменил оператор импорта на use myapp-backend, опять-таки, непосредственно на варианты дефиса, что привело к ожидаемому no 'myapp_backend' external crate. Я даже использовал альтернативную запись для внешней зависимости, без эффекта:

myapp-backend = {path = "../myapp-backend"}

Я почти уверен, что упускаю что-то глупое простое, но после прочтения документации Cargo, а также переполнения стека в течение двух дней, смею спросить. ^^

1 Ответ

0 голосов
/ 29 апреля 2019

Нельзя использовать исполняемый файл (ящик с файлом main.rs ) в качестве зависимости. Но вы можете переместить все общие вещи в 3. библиотечный ящик и использовать его как зависимость в обоих исполняемых файлах.

...