Как мне поделиться общим кодом между проектами Rust без публикации в crates.io?

Не может быть хорошего ответа на этот вопрос, но у меня есть код, который я бы хотел разделить между двумя разными проектами Rust БЕЗ, публикуя ящик в crates.io.

Код является проприетарным, и я не хочу его выводить в дикую природу.

Ответ 1

но это проприетарный код, и я не хочу выводить его в дикую природу.

Вам не нужно публиковать ящик. В частности, просто создайте ящик (cargo new shared_stuff), затем укажите путь к общему ящику (-ам) в зависимом проекте Cargo.toml:

[dependency.shared_stuff]
path = "path/to/shared/crate"

Документация по доставке содержит весь раздел о типах зависимостей:

Я считаю, что Cargo позволит вам получить из репозитория private git (например, в Github или другой частной службе, например GitLab), но я не пробовал это лично, Основываясь на моем поиске, вам потребуется предварительно аутентифицировать или иным образом настроить git, чтобы не требовать интерактивной записи пароля.


Теоретически возможно создать свой собственный реестр ящиков. Я даже не пытался это сделать, но в "Карго" есть механизм, чтобы справиться с этим.