如何解决为什么在 rust Rocket_contrib 时“没有 crate_relative in serve”?
我正在尝试通过我通常的四处游荡和运行示例的方法来学习一些 Rust。
rust_contrib api 文档上的这个页面让我觉得我可以像这样提供静态文件 https://api.rocket.rs/master/rocket_contrib/serve/struct.StaticFiles.html...
use rocket_contrib::serve::StaticFiles;
use rocket_contrib::serve::crate_relative;
...
fn main() {
rocket::ignite()
.mount("/content",StaticFiles::from(crate_relative!("content")))
.mount("/",routes![index])
.mount("/api",routes![hello,new_book])
.register(catchers![not_found])
.attach(Template::fairing())
.launch();
}
相反,编译器对我咆哮......
error[E0432]: unresolved import `rocket_contrib::serve::crate_relative`
--> src/main.rs:9:5
|
9 | use rocket_contrib::serve::crate_relative;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `crate_relative` in `serve`
Cargo.toml 看起来像这样...
[package]
name = "rocket-web"
version = "0.1.0"
authors = ["Nunya B. Znas <dontworry@bout.it>"]
edition = "2018"
[dependencies]
rocket = "0.4.5"
serde = {version = "1.0",features = ["derive"]}
[dependencies.rocket_contrib]
version = "0.4.5"
features = ["handlebars_templates","tera_templates"]
我做了什么冒犯了锈神?
谢谢
解决方法
您正在查看的文档适用于 Rocket 的 master 分支,该分支目前代表尚未发布的 0.5 版本。 Rocket 0.4.5 版没有 crate_relative
。
对于解决方法,您可以查看 0.4 docs 如何执行此操作:
use rocket_contrib::serve::StaticFiles;
fn main() {
rocket::ignite()
.mount("/",StaticFiles::from(concat!(env!("CARGO_MANIFEST_DIR"),"/static")))
.launch();
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。