由于类型不匹配,sqlx 安装失败
Posted
技术标签:
【中文标题】由于类型不匹配,sqlx 安装失败【英文标题】:sqlx installation fails due to mismatched types 【发布时间】:2020-10-12 14:33:17 【问题描述】:我正在 Ubuntu 18.04 上安装 sqlx:
cargo install --git https://github.com/launchbadge/sqlx sqlx-cli
我得到了错误
error[E0308]: mismatched types
--> sqlx-cli/src/opt.rs:8:20
|
8 | #[clap(short = "D", long)]
| ^^^ expected `char`, found `&str`
$ rustc --explain E0308
Expected type did not match the received type.
Erroneous code example:
```
let x: i32 = "I am not a number!";
// ~~~ ~~~~~~~~~~~~~~~~~~~~
// | |
// | initializing expression;
// | compiler infers type `&str`
// |
// type `i32` assigned to variable `x`
```
This error occurs when the compiler is unable to infer the concrete type of a
variable. It can occur in several cases, the most common being a mismatch
between two types: the type the author explicitly assigned, and the type the
compiler inferred.
$ rustc --version
rustc 1.47.0 (18bf6b4f0 2020-10-07)
$ cargo --version
cargo 1.47.0 (f3c7e066a 2020-08-28)
The full logs
如何解决错误并完成安装?
GitHub issue
【问题讨论】:
"D"
定义了一个恰好包含单个字符的 string。 Clap 中的短选项是char
,用简单的引号定义:'D'
。
这个错误是“cargo install --git github.com/launchbadge/sqlx sqlx-cli”的输出,不是我的应用程序,我不确定我应该如何完成安装
那么这是sqlx-cli
中的错误,您需要向他们提交错误和/或使用released version 和cargo install sqlx-cli
。
我已经在我的问题中链接了 github 问题(底部),我正在寻找一种解决方法来让我在解决问题时继续前进
显然我不是唯一遇到此问题的人github.com/launchbadge/sqlx/issues/730#issuecomment-707733077
【参考方案1】:
运行
cargo install -f --git https://github.com/launchbadge/sqlx sqlx-cli
而不是
cargo install --git https://github.com/launchbadge/sqlx sqlx-cli
解决问题
source
【讨论】:
以上是关于由于类型不匹配,sqlx 安装失败的主要内容,如果未能解决你的问题,请参考以下文章
Tensorflow 安装失败,“模块的编译时版本 3.5 与运行时版本 3.6 不匹配”