【问题标题】:How to fix Rust diesel cli link libpq.lib error on install如何在安装时修复 Rust 柴油 cli 链接 libpq.lib 错误
【发布时间】:2020-10-23 18:38:24
【问题描述】:

我正在尝试(几个小时)为 postgres 安装货箱 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 或作为系统变量一部分的PATH 中有它?
  • @MindSwipe 它需要在哪一个?我认为我目前是用户。

标签: postgresql rust rust-cargo libpq rust-diesel


【解决方案1】:

在我的情况下,安装是成功的,但是当我尝试运行它时,出现了这个错误。 也许这对其他有同样问题的人有用:

  • 打开 PowerShell
  • 输入setx PQ_LIB_DIR "C:\Program Files\PostgreSQL\13\lib"(或您的 PostgreSQL 库的任何其他路径)
  • 重启你的电脑
  • 再次运行

我在使用 WSL 时遇到了同样的问题,如果您使用的是 Linux,您可能可以找到 PostgreSQL 库位置并将其添加到您的环境变量中。

【讨论】:

  • 暂时卡在这个问题上,对于 PG 以外的数据库,此链接具有适当的路径命令 steemit.com/programming/@mrblueberry/…
  • 这对我有用。我不知道在哪里可以找到“已回答”中提到的 libpq.lib 文件,并且键入命令(或在我的情况下复制粘贴)要容易得多并且可以正常工作。
  • 在我的情况下,我还必须链接 postgres 的 bin 目录
【解决方案2】:

将文件夹添加到PATH 变量并没有帮助,至少在我的情况下,因为由于某种原因,它没有在传递给link.exe/LIBPATH 参数中使用。 就我而言,它是C:\Users\&lt;username&gt;\.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 命令执行后显示的文件夹中

【讨论】:

    【解决方案3】:

    我在 Ubuntu 上遇到了同样的错误,对我来说,以下安装解决了这个问题:

    sudo apt install libpq-dev
    

    【讨论】:

      【解决方案4】:

      无需移动文件,只需将 C:\Program Files\PostgreSQL\14\libC:\Program Files\PostgreSQL\14\bin 添加到您的 PATH 中。安装和运行柴油应该没有问题。

      注意:您的路径可能不同,请记住关闭/重新打开终端,以便更新 PATH 变量。

      (在 Windows 10 上测试)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-11-01
        • 2022-01-07
        • 2022-07-08
        • 2023-03-27
        • 2022-01-03
        • 2021-07-25
        • 1970-01-01
        相关资源
        最近更新 更多