首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当我使用rustc进行编译时,为什么我会得到"can't find crate“,这在Cargo.toml中被列为依赖项?

当我使用rustc进行编译时,为什么我会得到"can't find crate“,这在Cargo.toml中被列为依赖项?
EN

Stack Overflow用户
提问于 2020-03-04 12:59:07
回答 1查看 728关注 0票数 2

我的Cargo.toml包括以下内容:

代码语言:javascript
运行
复制
[dependencies]
chrono = "0.4"

我的代码包括以下内容:

代码语言:javascript
运行
复制
extern crate chrono;
use chrono::{Duration, DateTime, Utc};

然而,当我运行我的代码时,我得到了这个错误:

代码语言:javascript
运行
复制
error[E0463]: can't find crate for `chrono`
 --> src/lib.rs:1:1
  |
1 | extern crate chrono;
  | ^^^^^^^^^^^^^^^^^^^^ can't find crate

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-04 13:04:07

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

要使用依赖项管理,你必须用Cargo编译你的项目--只要使用cargo build/cargo run/cargo test,就可以了。详情请参见the Book

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

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60519336

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档