You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Rust稳定版中使用rocket框架的rocket_contrib静态文件服务

问题原因

你引入的rocket_contrib = 0.4.10是适配Rocket 0.4版本的依赖,该版本的Rocket生态全量要求使用nightly Rust,与你当前使用的支持稳定版Rust的Rocket 0.5版本不兼容,才会触发Pear依赖的nightly要求报错。

解决方法

Rocket 0.5版本已经将原rocket_contrib的功能拆分到官方维护的独立组件和核心库内置模块中,静态文件服务功能已经内置到核心库的rocket::fs模块,无需额外引入rocket_contrib,操作步骤如下:

  1. 移除Cargo.toml中全部rocket_contrib相关的依赖配置
  2. 直接使用核心库提供的静态文件服务能力即可,示例代码如下:
use rocket::fs::{FileServer, relative};

#[launch]
fn rocket() -> _ {
    rocket::build()
        // 第一个参数是路由访问前缀,第二个参数是静态文件存放的本地相对路径
        .mount("/static", FileServer::from(relative!("static")))
}
  1. 重新执行cargo build即可在稳定版Rust下正常编译。

如果需要用到原rocket_contrib的其他功能,可查找官方提供的对应0.5版本的独立crate,比如你已经在使用的rocket_dyn_templates就是原contrib中模板功能的0.5适配版本。

内容的提问来源于stack exchange,提问作者Yohannes Kifle

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.15 22:54:03