Khi cài đặt pg-native (một module của Node.js để kết nối vào CSDL Postgresql), đôi khi bạn có thể gặp lỗi không tìm thấy pg_config như dưới đây:

find: `/usr/pg*': No such file or directory
gyp: Call to 'which pg_config || find /usr/bin /usr/local/bin /usr/pg* /opt -executable -name pg_config -print -quit' returned exit status 1. while trying to load binding.gyp
...

Lỗi này xảy ra do không tìm thấy pg_config. pg_config nằm trong gói postgresql-devel nên chúng ta cần có gói này trước.

Đầu tiên bạn kiểm tra xem đã cài đặt các gói liên quan tới postgresql hay chưa bằng câu lệnh sau

yum list installed postgres*

Nếu bạn đã cài đặt một số gói thì kết quả có thể tương tự như dưới đây:

Học lập trình web trực tuyến căn bản

Còn trong trường hợp chưa cài gói postgresql-devel thì bạn có thể làm theo các bước sau:

Bước 1: kiểm tra các gói postgresql mà yum hỗ trợ cài đặt

yum list postgres*

Bước 2: Giả sử bạn đang sử dụng postgresql9.4, chọn gói postgresql94-devel.x86_64 để cài đặt

yum install postgresql94-devel.x86_64

Bước 3: Kiểm tra xem có thể chạy lệnh pg_config hay chưa?

pg_config

Nếu lệnh pg_config không tìm thấy thì mở file .bashrc (vim ~/.bashrc) và thêm vào các dòng sau vào cuối file:

PATH=$PATH:/usr/pgsql-9.4/bin

export PATH

Sau đó chạy lệnh source ~/.bashrc

Cuối cùng, ta lại chạy lại lệnh cài đặt pg-native

npm install pg-native

Đối với MacOS X: cách đơn giản nhất là sử dụng Postgres app (http://postgresapp.com).

Mở file .bashrc_profile (vim ~/.bashrc_profile) và thêm vào dòng lệnh sau

PATH="/Applications/Postgres.app/Contents/Versions/9.4/bin:$PATH"
export PATH

Sau đó chạy lệnh source ~/.bashrc_profile

Các bước tiếp theo tương tự khi làm trên CentOS.