当只指定一个运行时时,只有一个运行时可以是活动错误



这是怎么回事:

从Cargo.toml:

name = "sitegen"
version = "0.2.0"
edition = "2021"
[dependencies]
axum_database_sessions = { version = "5.0", features = [ "mysql-native"] }
sqlx = { version = "0.6", features = ["runtime-tokio-rustls", "mysql"] }
tokio = { version = "1.0", features = ["full"] }

编译错误:

error: only one of ['runtime-actix-native-tls', 'runtime-async-std-native-tls', 'runtime-tokio-native-tls', 'runtime-actix-rustls', 'runtime-async-std-rustls', 'runtime-tokio-rustls'] can be enabled
 --> /home/dsrich/.cargo/registry/src/github.com-1ecc6299db9ec823/sqlx-rt-0.6.2/src/lib.rs:23:1
  |
23 | / compile_error!(
24 | |     "only one of ['runtime-actix-native-tls', 'runtime-async-std-native-tls', 
25 | |      'runtime-tokio-native-tls', 'runtime-actix-rustls', 'runtime-async-std-rustls', 
26 | |      'runtime-tokio-rustls'] can be enabled"
27 | | );
  | |_^
error: could not compile `sqlx-rt` due to previous error

我在linux, MySQL上使用最新的rust x86-64,并且在Cargo中存在rust。汤姆或不汤姆没有区别。有什么建议吗?这对我来说毫无意义。

正在尝试编译它以开始使用它与axum-sessions

axum_database_session的默认功能是["postgres-rustls"],因此如果你想使用*-native,你必须禁用默认功能:

axum_database_sessions = { version = "5.0", default-features = false, features = ["mysql-native"] }

但因为你明确地包括rustls在你的sqlx的依赖,你可能只是想使用mysql-rustls代替,仍然没有默认的功能,因为你使用MySQL而不是PostgreSQL:

axum_database_sessions = { version = "5.0", default-features = false, features = ["mysql-rustls"] }

相关内容