【问题标题】:Does diesel requires mysql and sqlite to be installed?柴油需要安装mysql和sqlite吗?
【发布时间】:2023-03-27 01:26:02
【问题描述】:

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

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

只安装了postgres

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

【问题讨论】:

    标签: database rust rust-diesel


    【解决方案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 这样做的,这就是为什么我想知道首先安装它是否有助于以后满足它。
    猜你喜欢
    • 1970-01-01
    • 2022-01-19
    • 1970-01-01
    • 2021-10-07
    • 2022-12-10
    • 2020-10-26
    • 1970-01-01
    • 2021-03-17
    • 2021-08-21
    相关资源
    最近更新 更多