如何为新的Cargo项目设置默认作者?

13

使用cargo new创建新项目时,我希望Cargo.toml文件自动包含预定义的authors字段。

Rust书说:

下面四行设置了Cargo编译程序所需的配置信息:名称、版本、作者和要使用的Rust版本。 Cargo从您的环境中获取您的姓名和电子邮件信息,因此,如果该信息不正确,请立即更正并保存文件。

这听起来很模糊,所以我搜索了一下。首先,我尝试在我的环境变量中添加CARGO_NAMECARGO_EMAIL。但是没有作用。

然后我尝试在.cargo/config.toml配置文件中的[cargo-new]字段中添加变量nameemail,结果发现已经过时了。

还有其他方法吗?我做错了什么吗?

[package]
name = "hello_world"
version = "0.1.0"
edition = "2018"

authors = ["foo <bar@gmail.com>"] # Add this line automatically

[dependencies]

我在 Arch Linux 上使用带有夜间工具链的 rustup。

1个回答

19
行为在RFC 3052中更改,实现于Cargo 1.53。来自RFC的描述如下:
cargo init在运行命令时将停止预填充字段,并且在默认的Cargo.toml中根本不包括该字段。如果Crate作者愿意,仍然可以在发布之前手动包含该字段。
事实证明,Crate清单中的“authors”列表带来的问题比解决的问题还要多,因为清单是不可变的,而Crate的作者却不是。
所以从今天开始,在新的cargo项目中没有自动添加“authors”的方法。

1
发布项目时添加作者字段是可选的吗? - Galarmo
1
如果RFC 3052已经在crates.io上投入生产,那么是的。 - user2722968
1
如何更新“这本书”以包含此信息(即作者字段不再自动填充且不再必要)?我刚开始阅读这本书,发现这也很令人困惑(我自1972年以来一直在编程,并花了一天时间寻找如何设置环境变量或命令行选项或其他内容以使该字段符合我的喜好)。 - intel_chris
repo 上提交一个问题。 - user2722968

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