rust 安装 diesel-cli

问题

使用命令安装 diesel-cli

1
cargo install diesel_cli

报错

1
2
3
4
5
6
error: could not find native static library `mysqlclient`, perhaps an -L flag is missing?               

error: could not compile `mysqlclient-sys` due to previous error
warning: build failed, waiting for other jobs to finish...
error: failed to compile `diesel_cli v2.0.1`, intermediate artifacts can be found at `C:\Users\Lenovo\AppData\Local\Temp\cargo-installvNHPEW`

原因

本机上没有安装mysql库

解决

1
2
3
4
5
6
# 下载mysql
https://dev.mysql.com/downloads/installer/
# 配置环境变量
MYSQLCLIENT_LIB_DIR = C:\Program Files\MySQL\MySQL Server 8.0\lib


如果使用sqlite

有两种方式:

一. 使用指定的 sqlite ,https://www.sqlite.org/download.html 下载安装。

但是下载的 sqlite 中没有 lib,需要使用命令 lib /MACHINE:x64 /def:sqlite3.def 生成lib

然后配置 SQLITE3_LIB_DIR

二. 使用内置的 sqlite

执行命令 cargo install diesel_cli --no-default-features --features "sqlite-bundled"