Não foi possível encontrar símbolos de caixas externas incluídas com `use`
Estou tentando usar algumas bibliotecas Rust de caixas no Github. Esta é a primeira vez que tentei fazer isso. O código, retirado de um exemplo de biblioteca "html", começa assim:
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() {}
Os erros são assim:
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`?
oCargo.toml
arquivo contém
[dependencies.http]
http = "https://github.com/chris-morgan/rust-http"
[dependencies.url]
url = "0.2.7"
e os pacotes HTTP e URL foram encontrados e buscados porcargo build
mais cedo.
oextern crate http
eextern crate url
linhas não geram erros; as caixas estão sendo encontradas pelo compilador, mas essas caixas parecem não conter os símbolos esperados. Se eu adicionar `extern crate foo", recebo um erro, de modo que isso é verificado.
Provavelmente, esse é um problema com o modo como o Rust ou Cargo pesquisa bibliotecas. A ferrugem está instalada em~/local
, não como raiz, configurando o--prefix
parâmetro durante a instalação. Isso pode ter quebrado algo, embora Cargo deva lidar com isso. Coisas básicas como "hello_world" funcionam bem; trazer bibliotecas externas não.
eu reparei nissocargo update
não causa uma nova busca das caixas http e URL do Github. A documentação indica que deveria.
Versões:
Ubuntu 14.04 LTS.rustc 0.13.0-nightly (96a3c7c6a 2014-12-23 22:21:10 +0000)cargo 0.0.1-pré-noturno (e11c317 21/12/2014 - 20:43:45 +0000)