柴油需要安装mysql和sqlite吗?

问题描述

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

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

仅安装了 postgres

我真的需要安装 sqlite3MysqLclient 吗?我想让我的容器变小。

解决方法

检查您的 [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