如何在Rust中以编程方式使用Cargo命令?

4

我想在Rust中以编程的方式使用Cargo命令(本例中为cargo build),而无需使用std::process::Command运行该命令。

我应该如何做?


1
你能详细说明为什么想要这样做吗?可能有更好的方法。 - eggyal
由于我的无服务器容器的限制,我只能运行一个进程。 - Pixel Coder
6
即使您以编程方式驱动Cargo,它也不会在进程内调用rustc(rustc也不会在进程内调用链接器),因此您仍然无法实际编译任何内容。 - eggyal
1个回答

11
cargo文档)crate 添加到你的依赖中,就可以将 Cargo 用作库了!不过它没有任何稳定性保证或者很多文档,所以你可能需要阅读 如何使用 Cargo CLI 工具使用库 才能弄清如何使用它。要进行构建,调用 cargo::ops::compile 函数。

但请记住,Cargo 库仍然会在另一个进程中使用 Command::new 运行 rustc,所以这实际上只是移动了进程边界,并没有完全消除它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接