2017-06-04 2 views
2

Je n'arrive pas à faire fonctionner la fusée handlebars example . Ce sont mes dépendances Cargo.toml:Modèle d'importation non résolu lors de la construction d'un guidon Rocket exemple

[dependencies] 
rocket = "*" 
rocket_codegen = "*" 
rocket_contrib = "*" 
serde = "*" 
serde_json = "*" 
serde_derive = "*" 

Les erreurs:

error[E0432]: unresolved import `rocket_contrib::Template` 
    --> src\main.rs:29:5 
    | 
29 | use rocket_contrib::Template; 
    |  ^^^^^^^^^^^^^^^^^^^^^^^^ no `Template` in the root 

error[E0599]: no method named `attach` found for type `rocket::Rocket` in the current scope 
    --> src\main.rs:62:10 
    | 
62 |   .attach(Template::fairing()) 
    |   ^^^^^^ 

La première erreur pour Template et regarde ne le trouve pas. Dans le git repo de l'exemple, il n'existe pas. Comment est-il possible que l'exemple fonctionne? Je suis sûr que le code Rust dans mon main.rs est correct, c'est pareil que dans l'exemple. Je pense que c'est seulement un problème de dépendance.

J'ai changé Cargo.toml à:

[dependencies] 
rocket = "*" 
rocket_codegen = "*" 
serde = "*" 
serde_json = "*" 
serde_derive = "*" 

[dependencies.rocket_contrib] 
version = "*" 
features = ["handlebars_templates"] 

Maintenant je ces erreurs:

error[E0599]: no method named `attach` found for type `rocket::Rocket` in the current scope 
    --> src\main.rs:62:10 
    | 
62 |   .attach(Template::fairing()) 
    |   ^^^^^^ 

error[E0599]: no associated item named `fairing` found for type `rocket_contrib::Template` in the current scope 
    --> src\main.rs:62:17 
    | 
62 |   .attach(Template::fairing()) 
    |     ^^^^^^^^^^^^^^^^^ 

Répondre

3

Il vous manque la fonction handlebars_templates. Vous pouvez see this in the example's Cargo.toml:

[dependencies.rocket_contrib] 
version = "*" # Not a good idea to use * as version 
features = ["handlebars_templates"]