2014-11-23 42 views
0

我進口創造time和我在使用其他包裝箱也使用了,因爲這(進口)time,我有一個錯誤:多個匹配的板條箱`time`但真不是個版本指定

/Users/alex/Documents/projects/rust/my_project/src/lib.rs:2:1: 2:19 error: multiple matching crates for `time` 
/Users/alex/Documents/projects/rust/my_project/src/lib.rs:2 extern crate time; 
                ^~~~~~~~~~~~~~~~~~ 
note: candidates: 
note: path: /usr/local/lib/rustlib/x86_64-apple-darwin/lib/libtime-4e7c5e5c.dylib 
note: path: /usr/local/lib/rustlib/x86_64-apple-darwin/lib/libtime-4e7c5e5c.rlib 
note: crate name: time 
note: path: /Users/alex/Documents/projects/rust/my_project/target/deps/libtime-8fdb58a7632ec071.rlib 
note: crate name: time 
/Users/alex/Documents/projects/rust/my_project/src/lib.rs:2:1: 2:19 error: can't find crate for `time` 
/Users/alex/Documents/projects/rust/my_project/src/lib.rs:2 extern crate time; 
                ^~~~~~~~~~~~~~~~~~ 
error: aborting due to 2 previous errors 

如果我註釋掉time我也會遇到一個錯誤,以至於找不到time。上面的錯誤甚至不能解釋time的版本是什麼。我應該從磁盤中刪除哪一個?

+0

您是否在使用貨物? – Levans 2014-11-23 15:27:06

+0

@Levans,是的...... – 2014-11-23 16:09:43

回答

3

箱子時間最近已經移動到外部存儲庫,但您目前仍然有與rustc捆綁在一起的舊箱子,因爲它當前保留爲已棄用。

因此,你有兩個板條箱「libtime」,而rustc不知道哪一個需要。

當您使用貨物時,修正很簡單:在您的依賴關係中添加libtime,將其放入您的Cargo.toml,貨物會告訴rusctc它應該使用哪個libtime。

[dependencies.time] 
git = "https://github.com/rust-lang/time" 
+0

我應該從我的硬盤中刪除一些嗎?我正在使用最新版本的Rust,它怎麼可能? – 2014-11-24 02:34:27

+0

舊的libtime仍然與rustc一起發佈。這樣,仍然使用它的用戶應該收到一個棄用警告,而不是庫缺失的神祕錯誤。然而,在像你這樣的情況下,結果並不那麼好。 – Levans 2014-11-24 08:48:27

+0

哪一個我應該刪除? – 2014-11-24 09:52:14