diesel 是否需要安装 mysql 和 sqlite?

Does diesel requires mysql and sqlite to be installed?

我在我的 docker 图像中执行 RUN cargo install diesel_cli,我得到:

= 注意:/usr/bin/ld:找不到 -lsqlite3 /usr/bin/ld: 找不到 -lmysqlclient collect2:错误:ld 返回了 1 个退出状态

只安装了postgres

我真的需要安装 sqlite3 和 mysqlclient 即使我不打算使用吗?我想让我的容器变小。

检查您的 [dependencies] 是否仅适用于 Postgres:

[dependencies]
diesel = { version = "1.4.6", features = ["postgres"] }

请注意,您必须指定 features 并明确删除默认存在的 mysqlsqlite

对于 cargo install 应适用相同的原则,但您需要添加 --no-default-features 以关闭默认值:

cargo install diesel_cli --no-default-features --features postgres