当我使用 rustc 编译时,为什么会出现在 Cargo.toml 中列为依赖项的“找不到板条箱”?

Cha*_*ere 2 rust rust-cargo

我的 Cargo.toml 包括:

[dependencies]
chrono = "0.4"
Run Code Online (Sandbox Code Playgroud)

我的代码包括:

extern crate chrono;
use chrono::{Duration, DateTime, Utc};
Run Code Online (Sandbox Code Playgroud)

但是当我运行我的代码时,我收到了这个错误:

[dependencies]
chrono = "0.4"
Run Code Online (Sandbox Code Playgroud)

我正在做一个锻炼练习,所以我构建/运行程序的方式是rustc src/lib.rs测试我的解决方案。问题是因为我没有跑步rustc src/main.rs吗?

Cer*_*rus 6

当您直接运行时rustc,编译器只知道命令行参数。它不知道任何关于Cargo.toml,特别是,所以它不知道在哪里寻找chrono图书馆。

要使用依赖管理,你有货编译项目-只需使用cargo build/ cargo run/ cargo test,一切都应该罚款。详情见本书

但是,如果您想(出于某种原因)rustc直接使用,我建议cargo无论如何首先检查,使用cargo build --verbose. 它将显示所有调用的命令,允许您检查要手动定义的可能参数。

  • 另请参阅[我可以使用没有 Cargo.toml 的 Cargo 安装库吗?](/sf/ask/2576972541/) (2认同)