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

Rocket应用连接Postgres遇E0599错误:找不到fairling方法

解决Rocket连接Postgres时的fairling关联项错误

你的问题核心是方法拼写错误+不兼容依赖冲突,以下是具体修复步骤:

1. 修正方法拼写错误

代码中MyDatabase::fairling()是拼写失误,Rocket 0.5的rocket_sync_db_pools通过#[database]宏生成的正确方法是fairing()(注意末尾是ing而非ling)。

修正后的main.rs代码:

#[macro_use] extern crate rocket;

use rocket_sync_db_pools::{database, diesel};

#[database("time-board")]
struct MyDatabase(diesel::PgConnection);

#[launch]
fn rocket() -> _ {
    rocket::build()
        .attach(MyDatabase::fairing()) // 此处修正拼写错误
}

2. 移除不兼容依赖

你引入的rocket_contrib 0.4.11是Rocket 0.4版本的扩展库,与当前使用的Rocket 0.5-rc.1完全不兼容,必须删除该依赖项。

修正后的Cargo.toml:

[package]
name = "db_testing"
version = "0.1.0"
edition = "2021"

[dependencies]
rocket = { version = "0.5.0-rc.1", features = ["json"] }
diesel = { version = "2.0.0", features = ["chrono", "r2d2", "uuid", "postgres"] }
diesel_migrations = "2.0.0"
rocket_sync_db_pools = { version = "0.1.0-rc.2", features = ["diesel_postgres_pool"] }

3. 确认运行环境

确保本地Postgres服务已启动,且Rocket.toml中配置的time-board数据库已提前创建。

完成以上操作后,重新执行cargo run即可正常编译运行。

内容的提问来源于stack exchange,提问作者Arkady Rudenko

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 14:15:48