首页 > 解决方案 > actix_rt 2.0.2 的“系统未运行”

问题描述

我试图更新到 actix_rt 2.0.2 并且已经收到以下错误:

线程“主”在“系统未运行”时惊慌失措

我的最小示例在这里

use actix_rt;
use actix_web::{HttpServer, App, HttpResponse};

async fn hello() -> HttpResponse {
    HttpResponse::Ok().finish()
}

#[actix_rt::main]
async fn main() -> std::io::Result<()> {
    let server = HttpServer::new(move || {
        App::new().route("/", actix_web::web::get().to(hello))
    });
    server.bind("127.0.0.1:8080")?.run().await
}

货物.toml

[package]
name = "my_app"
version = "2.2.0"
authors = ["me"]
edition = "2018"

[dependencies]
actix = "0.10"
actix-web = { version = "3.3.2", default-features = false }
actix-rt = "2.0.2"

我假设它必须是actix crates之间的某些版本不兼容。是否有版本号的组合或我缺少的一些明显的东西才能让它们一起工作?

我需要 actix_rt 2.0.x 以便与Criterion集成

提前感谢您的任何见解。

干杯!

标签: compiler-errorsactix-webrust-actix

解决方案


您有不兼容的 actix crates 版本。您可以降级actix-rt1或升级到 beta 版本,例如:

actix = "0.11.0-beta.2"
actix-web = "4.0.0-beta.3"
actix-rt = "2.0.2"

推荐阅读