柴油需要安装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
并明确删除默认存在的 mysql
和 sqlite
。
对于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
仍然给出与mysql
和sqlite
链接有关的错误
那是因为它实际上是 diesel
这样做的,这就是为什么我想知道首先安装它是否有助于以后满足它。以上是关于柴油需要安装mysql和sqlite吗?的主要内容,如果未能解决你的问题,请参考以下文章