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

Tokio 1.11.0版本使用旧API出现未解析导入等编译错误如何解决

问题根源

你复制的是Tokio 0.1.x版本的示例代码,而Cargo.toml中引入的是1.11.0版本的Tokio,两个版本属于跨大版本迭代,API完全不兼容,因此出现编译错误。

修复方案

不需要修改Cargo.toml配置,直接替换src/main.rs的内容为1.x版本适配的代码即可:

use tokio::net::TcpStream;

#[tokio::main]
async fn main() {
    let addr = "93.184.216.34:9243".parse().unwrap();

    match TcpStream::connect(&addr).await {
        Ok(_socket) => println!("successfully connected"),
        Err(e) => println!("failed to connect; err={:?}", e),
    }
}

报错原因说明

  • 找不到tokio::prelude:该模块是Tokio 0.x版本的专属模块,1.x版本已经正式移除,无需再导入
  • 找不到tokio::run:这是0.x版本启动事件循环的方法,1.x版本统一使用#[tokio::main]宏标记异步入口函数,或者手动构建Runtime实例调用block_on方法运行Future
  • 找不到and_then方法:0.x版本的Future使用自定义的组合子API,1.x版本匹配Rust标准库的std::future::Future实现,统一使用await语法处理异步结果,不再需要旧的组合子写法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 02:42:01