2017-08-18 46 views
-1

我一直在嘗試編譯一個用Rust編寫的項目。當我第一次編譯,我得到了錯誤即使在成功運行貨物編譯後也無法找到箱子

error[E0463]: can't find crate for `argparse` 
--> src/main.rs:6:1 
    | 
6 | extern crate argparse; 
    | ^^^^^^^^^^^^^^^^^^^^^^ can't find crate 

這似乎是一個錯誤的依賴意味着我需要使用的貨物。幸運的是,該項目提供了Cargo.toml文件供我使用。我成功運行了cargo build,並試圖再次編譯鏽源。

錯誤依然存在,所以我打開Cargo.toml來看看。它包含我所期望的

[package] 
name = "stones" 
version = "0.5.0" 
authors = ["cheezgi <[email protected]>"] 

[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

*在0.0秒內完成dev [未優化+ debuginfo]目標* - 這是您的項目成功編譯。 **沒有錯誤**。 – Shepmaster

+0

@Shepmaster編譯時仍然有錯誤。 Cargo不會出錯,但編譯器會這樣做。 –

+3

'cargo build' *運行編譯器*並報告沒有錯誤。我不明白你是如何得到一個錯誤 – Shepmaster

回答

3

我成功地運行了貨物並試圖再次編譯鏽源。

Cargo爲您運行編譯器。通過調用cargo build,您已經隱含地稱爲編譯器(rustc),並且該程序已構建並準備好執行:cargo run./target/debug/my-app-name

直接致電rustc的情況非常罕見。

相關問題