rust - 当我使用 rustc 编译时,为什么会出现在 Cargo.toml 中列为依赖项的“找不到 crate”?
问题描述
我的 Cargo.toml 包括:
[dependencies]
chrono = "0.4"
我的代码包括:
extern crate chrono;
use chrono::{Duration, DateTime, Utc};
然而,当我运行我的代码时,我得到了这个错误:
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
吗?
解决方案
当您直接运行rustc
时,编译器只知道命令行参数。它对 , 特别是一无所知Cargo.toml
,因此它不知道在哪里寻找chrono
库。
要使用依赖管理,您必须使用 Cargo 编译您的项目 - 只需使用cargo build
/ cargo run
/ cargo test
,一切都应该没问题。详见本书。
但是,如果您想(出于某种原因)rustc
直接使用,我建议您先检查一下cargo
,使用cargo build --verbose
. 它将显示所有调用的命令,允许您检查要手动定义的可能参数。
推荐阅读
- javascript - 如何使用 Typescript 在 webdriverIO 中注册自定义命令
- flutter - 为什么我的 AsyncMemoizer 在 Flutter 中无法正常运行,我想停止不必要地重建我的小部件
- r - R Limitation? A + B - A = B
- vue.js - vue 上的 npm run serve 不服务于本地主机
- javascript - 从 API 获取数据:Array 和 map 函数的问题
- hyperledger-fabric - 在 hyperledger fabric 2.2 中实现 org1 的部门
- php - 如何解析这个 XML 并搜索特定的键值
- python-3.x - 如何在 Ubuntu 上安装 create_csv
- php - 背包(变形)关系字段添加条件以防止在类不存在时失败
- object - 在前端显示、编辑和更新隐藏记录 (TYPO3)