Неразрешенный шаблон импорта при создании примера руля Rocket
Я не могу заставить работать пример с рулем Rocket. Это мои зависимости Cargo.toml:
[dependencies]
rocket = "*"
rocket_codegen = "*"
rocket_contrib = "*"
serde = "*"
serde_json = "*"
serde_derive = "*"
Ошибки:
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())
| ^^^^^^
Первая ошибка ищет Template
и не могу его найти. В git-репо этого примера его не существует. Как это возможно, что пример работает? Я уверен, что код Rust в моем main.rs в порядке, он такой же, как в примере. Я думаю, что это только проблема зависимости.
Я изменил свой Cargo.toml на:
[dependencies]
rocket = "*"
rocket_codegen = "*"
serde = "*"
serde_json = "*"
serde_derive = "*"
[dependencies.rocket_contrib]
version = "*"
features = ["handlebars_templates"]
Теперь я получаю эти ошибки:
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())
| ^^^^^^^^^^^^^^^^^
1 ответ
Решение
Вы скучаете по handlebars_templates
особенность. Вы можете увидеть это в примереCargo.toml
:
[dependencies.rocket_contrib]
version = "*" # Not a good idea to use * as version
features = ["handlebars_templates"]