Rust 无法分析清单-未指定目标

Rust 无法分析清单-未指定目标,rust,rust-cargo,Rust,Rust Cargo,我是一个新的生锈和试图建立一个测试项目与货物。我的Cargo.toml看起来像: [package] name = "rust-play" version = "0.0.1" authors = [ "Bradley Wogsland <omitted>" ] 无效。错误提示: 必须存在src/lib.rs、src/main.rs、一个[lib]节或[[bin]]节 因此,直接的答案是: 但是,通常只将文件放在预期的位置:src/main.rs。如果您计划使用多个二进制文件,还可以

我是一个新的生锈和试图建立一个测试项目与货物。我的
Cargo.toml
看起来像:

[package]
name = "rust-play"
version = "0.0.1"
authors = [ "Bradley Wogsland <omitted>" ]
无效。

错误提示:

必须存在
src/lib.rs
src/main.rs
、一个
[lib]
节或
[[bin]]

因此,直接的答案是:

但是,通常只将文件放在预期的位置:
src/main.rs
。如果您计划使用多个二进制文件,还可以将其放在
src/bin/test.rs


如果它实际上是为了测试您的代码,那么单元测试与它们正在测试的代码放在同一个文件中,集成测试放在
tests/foo.rs
中。在我的情况下,可能在您的情况下也是如此,rs文件没有命名为
main.rs
,而Cargo假设
src/main.rs
是二进制板条箱的板条箱根。因此,规则是,如果项目是一个可执行文件,则将主源文件命名为
src/main.rs
。如果是库,请将主源文件命名为
src/lib.rs

此外,Cargo还将把位于
src/bin/*.rs
中的任何文件视为可执行文件,如前面的回答中所述。

作为总结:

如果使用
cargo new xxx--bin
,您会发现
src
目录中的文件名为
main.rs
。当您检查文件
Cargo.toml
时。这和你写的一样。因此,第一种方法是将src中的文件更改为
main.rs

作为货物报告,我们可以使用
[[bin]]
设置文件@谢普马斯特已经解决了这个问题


这两种方法都可行

替代问题和解决方案:如果您已将
Cargo.toml
文件复制到板条箱的父文件夹中,也可能会遇到此错误。

谢谢,这非常有用!我在安装IntelliJ IDEA时遇到了问题,它对此感到困惑,但这解决了IntelliJ IDEA的错误。您是否可以进一步展开以突出此答案与其他答案的不同之处?另一个答案是“将文件放在预期位置:
src/main.rs
”@Shepmaster谢谢您的提问。在我的回答中,如果有人正在使用任何其他名称,但仍将其放在位置:
srs
中,我试图明确强调将文件“重命名”为
main.rs
。您的回答中没有明确提到的内容,即它必须是
main.rs
文件,而不是其他名称。还有,我觉得小鬼提到了图书馆。我可以要求收回反对票吗?:)你能解释一下与现有答案相比,这个答案提供了哪些新信息吗?好吧,我刚刚发现你的答案解释了两种方式。@Shepmaster,事实上,我是个新手,遇到了同样的问题,所以我在解决问题时发布了这个答案。非常感谢,我从来没有想过,在这里解决了这个问题。
target = "src/test.rs"
[[bin]]
name = "test"
path = "src/test.rs"