Symbole aus externen Kisten, die in `use` @ enthalten sind, können nicht gefunden werde
Ich versuche, einige Rust-Bibliotheken aus Kisten auf Github zu verwenden. Dies ist das erste Mal, dass ich dies versuche. Der Code, der aus einem Beispiel einer "html" -Bibliothek stammt, beginnt folgendermaßen:
mod interactive_test {
extern crate http;
extern crate url;
use std::os;
use std::str;
use url::Url;
use http::client::RequestWriter;
use http::method::Get;
use http::headers::HeaderEnum;
// ...
}
fn main() {}
Errors sehen so aus:
error[E0432]: unresolved import `url::Url`
--> src/main.rs:7:9
|
7 | use url::Url;
| ^^^^^^^^ Did you mean `self::url`?
error[E0432]: unresolved import `http::client::RequestWriter`
--> src/main.rs:9:9
|
9 | use http::client::RequestWriter;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Did you mean `interactive_test::http`?
error[E0432]: unresolved import `http::method::Get`
--> src/main.rs:10:9
|
10 | use http::method::Get;
| ^^^^^^^^^^^^^^^^^ Did you mean `self::http::method`?
error[E0432]: unresolved import `http::headers::HeaderEnum`
--> src/main.rs:11:9
|
11 | use http::headers::HeaderEnum;
| ^^^^^^^^^^^^^^^^^^^^^^^^^ Did you mean `interactive_test::http`?
DasCargo.toml
Datei enthält
[dependencies.http]
http = "https://github.com/chris-morgan/rust-http"
[dependencies.url]
url = "0.2.7"
und die HTTP- und URL-Pakete wurden gefunden und von @ abgerufcargo build
vorhin
Dasextern crate http
undextern crate url
-Zeilen erzeugen keine Fehler. Die Kisten werden vom Compiler gefunden, aber diese Kisten scheinen nicht die erwarteten Symbole zu enthalten. Wenn ich `extern crate foo" hinzufüge, erhalte ich eine Fehlermeldung, die überprüft wird.
Dies ist wahrscheinlich ein Problem damit, wie Rust oder Cargo nach Bibliotheken suchen. Rust ist installiert in~/local
, nicht als root, erfolgt durch Setzen des--prefix
Parameter während der Installation. Das hat vielleicht etwas kaputt gemacht, obwohl Cargo damit umgehen sollte. Grundlegende Dinge wie "hallo_welt" funktionieren gut; das einspielen von externen bibliotheken geht nicht.
Ich bemerke, dasscargo update
ruft die http- und url-Kisten von Github nicht erneut ab. Die Dokumentation gibt an, dass es sollte.
Versions:
Ubuntu 14.04 LTS.rustc 0.13.0-nightly (96a3c7c6a 2014-12-23 22:21:10 +0000)cargo 0.0.1-vorabendlich (e11c317 21.12.2014 20:43:45 +0000)