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

Rust中如何通过cucumber访问gherkin_rust构建依赖项下的serde_json

问题解答

首先明确结论:满足你提出的「不修改自身Cargo.toml添加依赖、不使用extern crate声明」两个前提的情况下,没有合法途径可以访问到gherkin_rust的构建依赖中的serde_json库,原因如下:

  • Rust的Cargo包管理器对依赖作用域有严格的隔离规则,[build-dependencies] 项下的依赖,作用域仅限对应包自身的构建脚本(build.rs)的编译和运行阶段,既不会被纳入该包本身的库代码编译依赖,也不会向下游传递暴露符号。你给出的依赖树中,serde_json仅在gherkin_rust的[build-dependencies]下存在,别说你作为下游用户,就连gherkin_rust自身的普通库代码都访问不到这个serde_json实例。

如果你可以放宽前提,最优解决方案如下:

  • 直接在你自己项目的Cargo.toml中添加serde_json依赖即可,Rust允许同一项目内存在多个版本的同名依赖,你添加的serde_json不会和gherkin_rust的构建依赖产生冲突。且如果你使用的是Rust 2018及以后的版本,不需要额外写extern crate serde_json声明,只要Cargo.toml中添加了依赖,就可以直接在代码中通过use serde_json::xxx的方式调用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 04:36:09