Vì một số lý do, tệp bị thiếu trên hệ thống.
Khi bạn đang sử dụng apt-get
, hệ thống là dpkg
dựa trên, có lẽ là Debian hoặc nó là phái sinh. Bạn có thể thử tìm kiếm gói của Ubuntu để biết gói nào chứa tệp có tên kết thúc bằng libpq-fe.h
.
Tôi thấy gói là libpq-dev
và đường dẫn tuyệt đối của tệp là /usr/include/postgresql/libpq-fe.h
.
FWIW, trên dpkg
dựa trên hệ thống, bạn có thể kiểm tra gói nào cung cấp tệp nếu bạn biết đường dẫn tuyệt đối của tệp:
% dpkg -S /usr/include/postgresql/libpq-fe.h
libpq-dev: /usr/include/postgresql/libpq-fe.h
Ngoài ra, không giống như find
, locate
giữ bộ nhớ cache của các tệp được tìm thấy (mlocate.db
) được tạo hàng ngày qua cron
; vì vậy nếu tệp tình cờ bị xóa sau lần chạy cuối cùng, bạn có thể chạy locate libfq-fe.h
để lấy đường dẫn tuyệt đối đến tệp mà không cần kiểm tra tìm kiếm gói Ubuntu trực tuyến.
Vì vậy, gói là libpq-dev
. Bây giờ, cài đặt lại nó sẽ đưa mọi thứ về trạng thái mặc định, tức là tất cả các tệp liên quan sẽ được sao chép vào đúng vị trí. Vì nó chỉ là một gói thư viện, không có cấu hình cấp độ người dùng / hệ thống nào sẽ bị ghi đè (và dpkg
sẽ nhắc bạn hành động cho bất kỳ gói nào làm được điều đó).
Để cài đặt lại gói:
sudo apt-get install --reinstall libpq-dev