15

这个问题可能没有一个好的答案,但我有一些代码我想在两个不同的 Rust 项目之间共享,而不会将 crate 发布到 crates.io。

该代码是专有的,我不想将其公开。

4

1 回答 1

15

但它是专有代码,我不想把它放到野外。

您不必发布crate。具体来说,只需创建 crate ( cargo new shared_stuff),然后在依赖项目中指定公共 crate(s) 的路径Cargo.toml

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

Cargo 文档有一整节关于依赖类型:

我相信 Cargo 将允许您从私有git 存储库(例如在 Github 或其他私有托管服务,例如 GitLab 上)获取,但我没有亲自尝试过。根据我的搜索,您将需要事先经过身份验证或以其他方式配置 git 以不需要交互式密码输入。


理论上可以创建自己的crate 注册表。我什至没有尝试过这样做,但是 Cargo 中有机器来处理它。

于 2016-06-02T03:18:08.137 回答