如何在不发布到crates.io的情况下在Rust项目之间共享公共代码?

如何在不发布到crates.io的情况下在Rust项目之间共享公共代码?,rust,rust-crates,Rust,Rust Crates,对于这个问题可能没有一个好的答案,但我有一些代码,我想在两个不同的Rust项目之间共享,而不必将板条箱发布到crates.io 这个代码是专有的,我不想把它放到野外 但这是专有代码,我不想把它放到野外 你不必发布一个板条箱。具体来说,只需创建板条箱(cargo new shared_stuff),然后在从属项目的cargo.toml中指定公共板条箱的路径: [dependency.shared_stuff] path = "path/to/shared/crate" 有一整节介绍依赖项的类型:

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

这个代码是专有的,我不想把它放到野外

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

你不必发布一个板条箱。具体来说,只需创建板条箱(
cargo new shared_stuff
),然后在从属项目的
cargo.toml
中指定公共板条箱的路径:

[dependency.shared_stuff]
path = "path/to/shared/crate"
有一整节介绍依赖项的类型:

我相信Cargo将允许您从一个私有的git存储库(比如Github或另一个私有托管服务,比如GitLab)获取数据,但我个人还没有尝试过。根据我的搜索,您需要事先验证或以其他方式配置git,使其不需要交互式密码输入



从理论上讲,创建您自己的
板条箱注册表是可能的。我甚至没有尝试过这样做,但机器已经存在于货物中来处理它

仅供参考,这似乎是一个很好的案例。看起来你真的很想知道“如何在不公开发布公共代码的情况下共享代码”,但问题是关于一个解决方案;从技术上来说,我的回答是不可接受的。我下了一个赌注,它实际上解决了你的根本问题^_^我可能有理由重新审视这个问题,使其更符合其意图。@mattforni:我的意思是,这个问题更多的是关于“不发布到crates.io”而不是“不创建一个crates”,因此最好将重点放在“不发布到crates.io”上;然后答案可以集中在如何在公司内部分发板条箱上,这才是你真正想要解决的问题,而不是通过某种复制/粘贴文件的远程同步或诸如此类的愚蠢行为来启动自己:)看看我对你问题的改写,我想这就是@MatthieuM。我的建议是。如果你认为它不再符合你的初衷,请随意将其回滚。@Shepmaster:这确实也是我所想的;现在,这个问题可能会引起更广泛受众的兴趣,因为我认为许多组织不愿意在互联网上公开他们的代码。