功能'xxx'取决于'yyy',这不是可选的依赖项

问题描述 投票:0回答:1

我收到此错误:

error: failed to parse manifest at `...\Cargo.toml`

Caused by:
  Feature `client` depends on `rusttls` which is not an optional dependency.
Consider adding `optional = true` to the dependency

如果添加optional = true,它就消失了,但是出于安全原因,我不希望rusttls是可选的。

除了使此错误成为可选错误之外,此错误的确切原因是什么以及可能的解决方法?

我的Cargo.toml拥有此:

[features]

default = ["client", "server"]

client = ["serde_json",  "serde-xml-rs", "serde_ignored", "hyper", "hyper-tls", "rusttls", "tokio-core", "url", "uuid", "multipart"]

server = ["serde_json", "serde-xml-rs", "serde_ignored", "hyper", "hyper-tls", "rusttls", "tokio-core", "tokio-proto", "tokio-tls", "regex", "percent-encoding", "url", "uuid", "multipart"]

从我在Rust本书中所读的内容来看,这样做应该意味着默认情况下客户端和服务器具有这些依赖关系,对吗?

rust rust-cargo
1个回答
2
投票

如果依赖关系是可选的,则仅应在功能列表中包括依赖关系。如果依赖性不是可选的,则仅将其包括在[dependencies]部分中。

© www.soinside.com 2019 - 2024. All rights reserved.