rust - 为什么在 rust rocket_contrib 时“服务中没有 crate_relative”?
问题描述
我试图通过我惯用的四处乱窜和运行示例的方法来学习一些生锈。
rust_contrib api docs上的这个页面让我觉得我可以像这样提供静态文件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 文档如何执行此操作:
use rocket_contrib::serve::StaticFiles;
fn main() {
rocket::ignite()
.mount("/", StaticFiles::from(concat!(env!("CARGO_MANIFEST_DIR"), "/static")))
.launch();
}
推荐阅读
- azure - Azure Key Vault 在 AKS 中使用管理标识
- pytorch - 如何使用pytorch多处理分别训练模型
- c - 为什么我得到 free(): invalid pointer?
- archlinux - cal 命令在 startx 和 lightdm 之间的行为不同
- node.js - 如何从 Mongoose Graphql 的一对一关系的反向模型中获取数据?
- android - Android:在片段中定义的应用栏中覆盖向上导航
- html - 图像、字体、网站图标等仅出现在 Safari 中,但不在 Chrome 或移动设备中?
- visual-studio-code - VSCode:将光标移动到每个光标的给定单词的下一个出现
- php - 更新关系内的关系 hasMany 值
- django - 重写 Django 模型以删除不必要的主键后收到 InvalidCursorName 错误消息