我正在用Rust创建一个库。在库创建时我输入
cargo new name
根据文档,这应该创建一个lib,因为省略了--bin
。
但是,该文件自动设置为二进制文件。
我是否需要调整设置以禁用将所有项目自动设置为二进制文件?
答案 0 :(得分:9)
货物特征
Cargo的CLI在此版本中有一个非常重要的变化:
cargo new
现在默认生成二进制文件,而不是库。我们试图让Cargo的CLI保持稳定,但这种变化很重要,不太可能导致破损。对于某些背景,
cargo new
接受两个标志:--lib
用于创建库,--bin
用于创建二进制文件或可执行文件。如果您未传递其中一个标志,则在之前版本的Cargo中,它将默认为--lib
。我们做出这个决定是因为每个二进制文件(通常)都依赖于许多库,因此库案例更常见。但是,这是不正确的;每个图书馆都依赖于许多二进制文件。此外,在开始使用时,您经常需要的是一个可以运行和使用的程序。不过,这不仅仅是新的Rustaceans;甚至很长时间的社区成员都说他们发现这个默认值令人惊讶。因此,我们正在改变它。
答案 1 :(得分:3)
自货运1.25 cargo new
defaults to creating a binary crate, instead of a library crate以来。
cargo new接受两个标志: - lib,用于创建库, - bin,用于创建二进制文件或可执行文件。