#rust #rust-cargo #crate #dnp3
Вопрос:
Я хочу использовать эту библиотеку: https://github.com/stepfunc/dnp3, но это не на crates.io, у него есть только репозиторий, и я не могу его реализовать. Я попытался добавить его в свой Cargo.toml
список, [dependencies] dnp3 = "0.9.1"
но он говорит, что его не существует, и на самом деле у него нет ящика. Внутри хранилища есть несколько примеров, в dnp3/example
которых use dnp3;
все выглядит так, как будто это ящик.
Как я могу это использовать?
Ответ №1:
Вы можете напрямую указать Github (или любой другой репозиторий git) в качестве источника зависимости.
[dependencies]
dnp3 = { git = "https://github.com/stepfunc/dnp3" }
Смотрите справку о грузе: https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#specifying-dependencies-from-git-repositories
Комментарии:
1. Спасибо! Я попробую это прямо сейчас
2. большое спасибо! Это сработало идеально, с этого момента я буду лучше читать документацию
Ответ №2:
Вы можете указать зависимости в качестве репозиториев Git.
[dependencies]
dnp3 = { git = "https://github.com/stepfunc/dnp3" }
Если вы хотите указать ветвь (при условии, что вы не хотите использовать main
/ master
), вы можете добавить branch
ключ в приведенное выше объявление:
[dependencies]
dnp3 = { git = "https://github.com/stepfunc/dnp3", branch = "feature/rustls" }
Чтение по теме: Указание зависимостей от репозиториев git
Ответ №3:
Другим способом сделать это было бы клонировать репозиторий и использовать зависимость с локальным путем.
[dependencies]
dnp3 = { path = "../dnp3" }
Связанные документы по ржавчине
Но, конечно, как и в других ответах, в вашем случае лучше использовать версию git.
Комментарии:
1. это тоже очень полезно! Огромное спасибо