如何依赖Git仓库子模块中的Rust crate?排查依赖失败问题
解决思路
修正依赖配置:目标crate
warp_api_ffi不在仓库根目录,而是位于native/zcash-sync子路径下,需要在Cargo.toml里明确指定包名、子路径,同时开启子模块自动拉取:[dependencies] warp_api_ffi = { git = "https://github.com/hhanh00/zwallet.git", features = ["dart_ffi"], package = "warp_api_ffi", path = "native/zcash-sync", submodules = true }若需要锁定特定版本,可额外添加
branch(分支)或tag(标签)字段。清理缓存重试:如果之前的错误缓存干扰了构建,先清理缓存再重新执行检查:
cargo clean rm -rf .cargo/git/checkouts/zwallet-* cargo check手动拉取子模块(可选):若Cargo自动拉取子模块失败,可进入缓存的仓库目录手动操作:
cd ~/.cargo/git/checkouts/zwallet-*/<对应提交哈希> git submodule update --init --recursive
内容的提问来源于stack exchange,提问作者Andrew Arnott
相关产品推荐
相关产品推荐

