我一直在尝试编译用Rust编写的项目。当我第一次编译时,我收到了错误
error[E0463]: can't find crate for `argparse`
--> src/main.rs:6:1
|
6 | extern crate argparse;
| ^^^^^^^^^^^^^^^^^^^^^^ can't find crate
这似乎是一个依赖错误意味着我需要使用Cargo。幸运的是,该项目提供了一个Cargo.toml
文件供我使用。我成功运行cargo build
并尝试再次编译Rust源。
错误仍然存在,因此我打开了Cargo.toml
来查看。它包含了我的预期
[package]
name = "stones"
version = "0.5.0"
authors = ["cheezgi <zackh@firemail.cc>"]
[dependencies]
argparse = "*"
rustyline = "*"
[profile.dev]
debug = true
我跑了cargo build -v
以确保一切按预期进行。
Fresh unicode-width v0.1.4
Fresh bitflags v0.4.0
Fresh libc v0.2.20
Fresh argparse v0.2.1
Fresh encode_unicode v0.1.3
Fresh nix v0.5.1
Fresh rustyline v1.0.0
Fresh stones v0.5.0 (file:///Users/eamonolive/projects/stones)
Finished dev [unoptimized + debuginfo] target(s) in 0.0 secs
我在这里看不到结果有什么问题,看起来所有内容都安装得正确,但编译器仍无法找到argparse的包。
如果它有任何不同,我正在使用rustc 1.19.0。
答案 0 :(得分:4)
我成功运行货物构建并尝试再次编译Rust源。
Cargo为您运行编译器。通过调用cargo build
,您已经隐式调用了编译器(rustc
),程序已构建并准备好执行:cargo run
或./target/debug/my-app-name
。
直接致电rustc
非常罕见。