柴油需要安装mysql和sqlite吗?

Posted

技术标签:

【中文标题】柴油需要安装mysql和sqlite吗?【英文标题】:Does diesel requires mysql and sqlite to be installed? 【发布时间】:2021-06-15 12:38:23 【问题描述】:

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

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

只安装了postgres

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

【问题讨论】:

【参考方案1】:

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

【讨论】:

但是这个不是cargo项目,我只是用cargo装柴油,没有依赖关系 我为命令行方法添加了一个版本,在您的问题中没有看到。由于 diesel_cli 具有 diesel 作为依赖项,您可能还需要传递它的功能,我必须检查一下。 RUN cargo install diesel_cli --features postgres 仍然给出与mysqlsqlite 链接有关的错误 那是因为它实际上是 diesel 这样做的,这就是为什么我想知道首先安装它是否有助于以后满足它。

以上是关于柴油需要安装mysql和sqlite吗?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 graphQL 突变中使用柴油和杜松修复 mysql 的 sql 类型错误?

如何使用柴油在 sqlite 中进行 upsert?

MySQL下载与安装

mysql安装

在树莓派上安装MySQL数据库和简单使用方法

服务器 2