postgresql - 如何在安装时修复 Rust 柴油 cli 链接 libpq.lib 错误

标签 postgresql rust rust-cargo libpq rust-diesel

我正在尝试(现在几个小时)为 postgres 安装 cargo 箱 diesel_cli。但是,每次我运行 recommended cargo 命令时:

cargo install diesel_cli --no-default-features --features postgres
我等了几分钟才看到相同的构建失败 -> 中止错误,并显示以下消息:
note: LINK : fatal error LNK1181: cannot open input file 'libpq.lib'


error: aborting due to previous error

error: failed to compile `diesel_cli v1.4.1`, intermediate artifacts can be found at `C:\Users\<user name here>\AppData\Local\Temp\cargo-installUU2DtT`

Caused by:
  could not compile `diesel_cli`.
我在 docker 容器中运行 postgres,并且在我的 C:\pgsql 上有二进制文件,libbin 目录都在 PATH 上,所以我不知道为什么它没有链接。他们在文档中没有提到的还有什么要求?

最佳答案

将文件夹添加到 PATH 变量并没有帮助,至少在我的情况下,因为由于某种原因它没有在传递给 /LIBPATHlink.exe 参数中使用。
就我而言,它是 C:\Users\<username>\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib您可以在错误消息的开头看到它。
libpq.lib 复制到那里,它将从那里使用。
安装柴油后,需要一些其他组件。将 libcrypto-1_1-x64.dlllibiconv-2.dlllibssl-1_1-x64.dll 复制到 where diesel 命令执行后显示的文件夹中

关于postgresql - 如何在安装时修复 Rust 柴油 cli 链接 libpq.lib 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62708607/

相关文章:

rust - 无法访问 Rust 中的环境变量

postgresql - 如何使用 Clojure 将 PostgreSQL 函数应用于查询?

sql - PostgreSQL - 从 LIMIT OFFSET 重复行

oracle - 如何使用 ora2pg 迁移导出特定的表架构和数据?

enums - 将所有变体实现相同特征的枚举转换为 Rust 中的框?

docker - 优化 Docker 中的 cargo 构建时间

postgresql - 使用 information_schema 中的表和列执行查询

rust - 内存布局、对齐和释放

vector - 在 Rust 中,有没有办法只对容器的一部分执行 retain()?

rust - 有没有办法列出 Cargo 项目中的所有测试而不运行它们?