即使在成功 运行 `cargo build` 后编译时也无法找到 crate

Unable to find crate when compiling even after successfully running `cargo build`

我一直在尝试编译一个用 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 的 crate。

如果有任何不同,我正在使用 rustc 1.19.0。

I ran cargo build successfully and attempted to compile the Rust source again.

Cargo 为您运行编译器。通过调用 cargo build,您已经隐式调用了编译器 (rustc),程序已构建并准备好执行:cargo run./target/debug/my-app-name.

很少会直接调用rustc