引入serde_json后actix-web 4.x中HttpServer导入失败编译报错
Actix-web 4 中
HttpServer 无法导入的解决办法 问题根源
Actix-web 4.x 对 crate 特性做了拆分,HttpServer 所属的服务器核心功能不再默认启用,默认编译时不会包含这部分代码,所以直接从 actix_web 根模块导入会触发unresolved import错误。而 3.x 版本中该组件属于默认导出内容,因此降级后能正常编译。
修复步骤
修改 Cargo.toml 里的 actix-web 依赖配置,显式启用 server 特性:
[dependencies] actix-files = "0.6.2" actix-web = { version = "4", features = ["server"] } serde_json = "1.0.94"
如果你的项目还需要其他常用特性(比如路由宏、JSON 序列化支持),可以一次性添加:
actix-web = { version = "4", features = ["server", "macros", "json"] }
额外操作
改完配置后执行 cargo clean && cargo build,确保依赖被重新正确编译加载。你的 Rust 1.68.0 版本完全适配 Actix-web 4.x,不需要降级 Rust。
内容的提问来源于stack exchange,提问作者0oz
相关产品推荐
相关产品推荐

