Estoy intentando (desde hace horas) instalar la caja de carga diesel_cli para postgres. Sin embargo, cada vez que ejecuto el comando cargo recomendado :
cargo install diesel_cli --no-default-features --features postgresEspero unos minutos solo para ver el mismo error de compilación -> error de cancelación, con este mensaje:
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`. Estoy ejecutando postgres en un contenedor docker y tengo los archivos binarios en mi C:\pgsql con los directorios lib y bin en la PATH , por lo que no puedo entender por qué no se vincula. ¿Qué más se podría requerir que no mencionaron en los documentos?
En mi caso la instalación fue exitosa pero cuando intenté ejecutarla me dio este error. tal vez esto funcione para otros que tienen el mismo problema:
setx PQ_LIB_DIR "C:\Program Files\PostgreSQL\13\lib" (o cualquier otra ruta a su biblioteca de PostgreSQL)Tuve el mismo problema con WSL, si está en Linux, probablemente podría encontrar la ubicación de lib de PostgreSQL y agregarla a sus variables de entorno.
Agregar la carpeta a la variable PATH no ayudó, al menos en mi caso, ya que por alguna razón no se usa en el parámetro /LIBPATH pasado a link.exe . En mi caso fue C:\Users\<username>\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib Puede verlo al principio de el mensaje de error Copie libpq.lib allí y se usará desde allí.
Después de la instalación, el diesel requeriría algunos otros ensamblajes. Copie libcrypto-1_1-x64.dll , libiconv-2.dll y libssl-1_1-x64.dll en la carpeta que se muestra después de la ejecución del comando where diesel
Tuve el mismo error en Ubuntu y para mí, la siguiente instalación solucionó el problema:
sudo apt install libpq-dev