Pg gem qurmağa çalışırken libpq-fe.h başlığı tapıla bilmir

Ruby'ün Rails 3.1-də əvvəlki versiyasını istifadə edirəm. PostgreSQL-ni istifadə etmək istəyirəm, amma problem pg gem quraşdırır. Bu mənə aşağıdakı səhvləri verir:

 $ gem install pg Building native extensions. This could take a while... ERROR: Error installing pg: ERROR: Failed to build gem native extension. /home/u/.rvm/rubies/ruby-1.9.2-p0/bin/ruby extconf.rb checking for pg_config... no No pg_config... trying anyway. If building fails, please try again with --with-pg-config=/path/to/pg_config checking for libpq-fe.h... no Can't find the 'libpq-fe.h header *** extconf.rb failed *** Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers. Check the mkmf.log file for more details. You may need configuration options. Provided configuration options: --with-opt-dir --without-opt-dir --with-opt-include --without-opt-include=${opt-dir}/include --with-opt-lib --without-opt-lib=${opt-dir}/lib --with-make-prog --without-make-prog --srcdir=. --curdir --ruby=/home/u/.rvm/rubies/ruby-1.9.2-p0/bin/ruby --with-pg --without-pg --with-pg-dir --without-pg-dir --with-pg-include --without-pg-include=${pg-dir}/include --with-pg-lib --without-pg-lib=${pg-dir}/lib --with-pg-config --without-pg-config --with-pg_config --without-pg_config Gem files will remain installed in /home/u/.rvm/gems/ruby-1.9.2-p0/gems/pg-0.11.0 for inspection. Results logged to /home/u/.rvm/gems/ruby-1.9.2-p0/gems/pg-0.11.0/ext/gem_make.out 

Bu problemi necə həll edə bilərəm?

666
18 мая '11 в 9:11 2011-05-18 09:11 Demoncand 18 may 2011-ci ildə saat 11: 11-də təyin olunub. 2011-05-18 09:11
@ 37 cavab
  • 1
  • 2

libpq-dev , libpq-dev paketinin bir hissəsidir (ən azı aşağıdakı Ubuntu versiyalarında: 11.04 (Natty Narwhal), 10.04 (Lucid Lynx), 11.10 (Oneiric Ocelot), 12.04 (dəqiq Pangolin), 14.04 (Trusty Tahr ) və 18.04 (bionic beaver)):

 ... /usr/include/postgresql/libpq-fe.h ... 

Belə ki, OS üçün libpq-dev və ya ekvivalentini libpq-dev cəhd edin:

1061
18 мая '11 в 9:41 2011-05-18 09:41 cavab verildi mi çox qısa May 18 '11 at 9:41 am 2011-05-18 09:41

MacOS-da (əvvəllər Mac OS XOS X ), uyğun başlıqları quraşdırmaq üçün Homebrew- ni istifadə edin:

 brew install postgresql 

və sonra işləyir

border=0
 gem install pg 

işləməlidir.

Alternativ olaraq, bütün postgresql brew install libpqPKG_CONFIG_PATHPKG_CONFIG_PATH " PKG_CONFIG_PATH " bölməsində PKG_CONFIG_PATH kimi ixrac edə bilərsiniz.

139
10 дек. Cavab 10 dekabrda iwasrobbed verilir. 2013-12-10 01:30 '13, saat 01:30 'da 2013-12-10 01:30

Mən də gem install libpq-dev amma bu səhv var:

 Can't find the 'libpq-fe.h header *** extconf.rb failed *** 

Lakin, sudo apt-get ilə çalışdığımı (Ruby on Rails istifadə etməməyə çalışdığım) işlədiyini gördüm, yəni.

 sudo apt-get install libpq-dev # or apt-get install postgres-server-dev-{pg.version} # for postgresql 9.4 on Ubuntu 14.04 

sonra edə bilərəm

 gem install pg 

heç bir problem yoxdur.

113
17 янв. Michael Durrant tərəfindən cavabı Jan 17 2012-01-17 02:34 '12 at 2:34 am 2012-01-17 02:34

Mən onu fərqli şəkildə həll edə bilərəm. Sistemimdə bir kitabxana tapmadım. Beləliklə, onu PostgreSQL-in əsas saytından ərizə ilə quraşdırdım. Mənim vəziyyətimdə (OS X) quraşdırma tamamlandıqdan sonra /Library/PostgreSQL/9.1/include/ faylının altında /Library/PostgreSQL/9.1/include/ . PostgreSQL yüklü olduqda, sisteminizə bağlı olaraq başqa bir yerdə də faylınız ola bilər.

Bu linkə görə, gem yükləmək üçün əlavə bir yol əlavə etmək üçün , bu komandanı istifadə edərək libdə bir daş təyin edə bilərsiniz:

 export CONFIGURE_ARGS="with-pg-include=/Library/PostgreSQL/9.1/include/" gem install pg 

Bundan sonra işləyir, çünki indi o, itkin kitabxananın harada olduğunu bilir. Yalnız libpq-fe.h üçün doğru yolu əvəz edin

40
12 янв. David Pelaez tərəfindən verilmiş cavab 12 yanvar 2012-01-12 09:52 '12 saat 09:52 'da 2012-01-12 09:52

Libpq-fe.h başlığı tapıla bilmir

CentOS 7.0.1406'da aşağıdakı əmrləri yerinə yetirdik :

 ~ % psql --version # => psql (PostgreSQL) 9.4.1 yum install libpqxx-devel gem install pg -- --with-pg-config=/usr/pgsql-9.4/bin/pg_config 

Alternativ olaraq, plug- pg həmişə bu parametrlərlə pg qurmaq üçün konfiqurasiya edə bilərsiniz (dispetçeri yerləşdirmə mühitində işləmək üçün faydalıdır),

  • bundle config build.pg --with-pg-config=/usr/pgsql-9.4/bin/pg_config
26
02 марта '15 в 4:51 2015-03-02 04:51 Cavab lfender6445 mart 02 '15 'də 04:51' də verilir. 2015-03-02 04:51

CentOS 6.4 üçün,

 yum install postgresql-devel gem install pg 

yaxşı çalışdı!

21
10 апр. Cavab Arivarasan L 10 Aprel verilir. 2013-04-10 12:13 '13 at 12:13 2013-04-10 12:13

Yalnız qeyd üçün:

Ruby on Rails 4-də PostgresApp ilə OS X-də (bu halda 0.17.1 versiyası lazımdır - köhnə layihə görünüşü):

 gem install pg -v '0.17.1' -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.3/bin/pg_config 
14
19 окт. Cavab 19 oktyabr pablomarti verilir . 2015-10-19 19:53 '15 at 19:53 'də 2015-10-19 19:53

Mənim vəziyyətim postgresql-server-dev-8.4 paketi idi (mən Ubuntu 11.04 (Natty Narwhal), 64 bit).

12
18 июля '11 в 21:18 2011-07-18 21:18 Cavab Yohann tərəfindən 18 iyul 2011-ci il tarixində, 21:18, 2011-07-18 21:18 tarixində verilir

Mac OS X'de aşağıdakıları edin:

 gem install pg -- --with-pg-config=***/path/to/pg_config*** 

***/path/to/pg_config*** - pg_config yolu

12
08 янв. Cavab Jiemurat Jan 08 tərəfindən verilir 2014-01-08 12:36 '14 at 12:36 2014-01-08 12:36

Postgres.app istifadə edən Mac istifadəçiləri üçün düzgün cavab bu paketi ilə gələn libpq əleyhinə libpq . Məsələn, azad 9.4 ilə (yazılı olduğu vaxtda mövcud olan), lazım olan bütün bunlardır:

 export CONFIGURE_ARGS="with-pg-include=/Applications/Postgres.app/Contents/Versions/9.4/include" gem install pg 

Bu, pg geminizi tam olaraq quraşdırılmış PostgreSQL versiyası ilə senkronize edəcəkdir. Bu halda, Homebrew-dən bir şey yükləmək bir israfdır.

10
22 янв. Cavab 22 yanvar jelder verilir 2015-01-22 18:29 '15 at 18:29 'də 2015-01-22 18:29

Amazon Linux-da eyni problemim var idi. libpq-fe.h tapa libpq-fe.h amma nədənsə bu libpq-fe.h .

Maşındakı müxtəlif istifadəçilər tərəfindən quraşdırılmış paketlərin müxtəlif versiyalarından gəldi. PostgreSQL 9.2 və PostgreSQL 9.3 quraşdırılmışdır. Belə ki, PostgreSQL sürümünüzün kitabxanalara imkan vermədikdən əvvəl əmin olun.

Mənim üçün sehrli komanda xətti:

 sudo yum install postgresql93 postgresql93-server postgresql93-libs postgresql93-contrib postgresql93-devel 

Mənbə: PostgreSQL 9.3 quraşdırma təlimatı, PostGIS 2.1 və Yum ilə pgRouting

8
30 янв. Cavab Fab V. tərəfindən verilir 2015-01-30 10:47 '15 at 10:47 2015-01-30 10:47

Hər bir Debian əsaslı bölüşdürmə (Ubuntu daxil olmaqla) üçün daha ümumi bir cavab belədir. Əvvəlcə apt-file paketini root olaraq qurun:

 apt-get install apt-file 

Bu faylı ehtiva paketləri axtarmaq imkanı verir. Sonra verilənlər bazasını yeniləyin

 apt-file update 

(bu müntəzəm istifadəçi kimi işlədilə bilər). Sonra itkin başlığı tapmaq üçün istifadə edin:

 apt-file search libpq-fe.h 

Mənim maşınımda bu:

 libpq-dev: /usr/include/postgresql/libpq-fe.h postgres-xc-server-dev: /usr/include/postgres-xc/server/gtm/libpq-fe.h 

Gedin!

7
30 авг. Cavab Vincent Fourmond tərəfindən verilir 30 aug. 2013-08-30 00:16 '13 'da 0:16' da 2013-08-30 00:16 'da

Mac'də bu kodu istifadə etməyə qərar verdim:

 gem install pg -v '0.18.4' -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.4/bin/pg_config 
4
05 февр. Cavab Mario 05 fevralda verilir. 2016-02-05 00:00 '16 'da 0: 2016-02-05 00:00' də

Mac OS-də eyni problemim var idi, amma terminalda aşağıdakıları istifadə edərək tez PostgreSQL inciləri yüklədim:

 ARCHFLAGS="-arch x86_64" gem install pg 

(PostgreSQL'i əvvəlki brew install postgresql .)

4
10 авг. Cavab 10 dəqiqə rəssam verilir . 2014-08-10 22:39 '14 at 10:39 pm 2014-08-10 22:39

Mən son vaxtlarda Mac X v10.10 (Yosemite) yüksəldim və qazma pg ni yaratdıq.

Bildirilmiş xəta tipik idi:

 Using config values from /usr/local/bin/pg_config checking for libpq-fe.h... *** extconf.rb failed *** 

Mənim gem uninstall pg , sonra gem sonuncu ilə əvəz etmək üçün bundle update pg . Bir brew update; brew upgrade etdim brew update; brew upgrade Daha əvvəl qurduğum paketlərin son versiyasını almaq üçün Yosemite'yi qurduqdan sonra brew update; brew upgrade .

4
02 нояб. Cavab Martin Streicher tərəfindən verilir 02 Noyabr. 2014-11-02 15:21 '14 saat 15:21 2014-11-02 15:21

Bu cavabı tapdum və mənim üçün çalışdığım tək (Mac OS) idi - iki gün tədqiq etdikdən sonra:

 $ sudo su $ env ARCHFLAGS="-arch x86_64" gem install pg Building native extensions. This could take a while... Successfully installed pg-0.11.0 1 gem installed Installing ri documentation for pg-0.11.0... Installing RDoc documentation for pg-0.11.0... 

Yığın daşması probleminə baxın PostgreSQL müştəri kitabxanasını (libpq) tapa bilmir .

4
20 окт. Cavab Cynthia Sanchez tərəfindən 20 oktyabrda verilir . 2014-10-20 19:21 '14 at 19:21 2014-10-20 19:21

CentOS libpq-dev package da libpq-dev package aşağıdakı komanda ilə quraşdırdım

 yum install postgresql-devel 

gem install pg No pg_config... trying anyway. If building fails, please try again with --with-pg-config=/path/to/pg_config " No pg_config... trying anyway. If building fails, please try again with --with-pg-config=/path/to/pg_config " kimi səhvləri qaytarır No pg_config... trying anyway. If building fails, please try again with --with-pg-config=/path/to/pg_config " No pg_config... trying anyway. If building fails, please try again with --with-pg-config=/path/to/pg_config " No pg_config... trying anyway. If building fails, please try again with --with-pg-config=/path/to/pg_config .

Aşağıda göstərildiyi kimi, daş qurmaq mənim problemimi həll etdi

 gem install pg -- --with-pg-config=/usr/pgsql-xx/bin/pg_config 
3
21 янв. cavab 21 yanvar2020-ci il tarixində verilir 2015-01-21 12:26 '15 at 12:26 pm 2015-01-21 12:26

PostgreSQL serverini quraşdırmadan MacOS üçün:

 brew install libpq gem install pg -- --with-pg-config="/usr/local/Cellar/libpq/9.6.6/bin/pg_config" 
3
09 дек. Michael A. tərəfindən cari 09 dekabr 2017-12-09 13:13 '17 at 13:13 2017-12-09 13:13

Mac üzərində Postgres.app çalıştırıyorum, və mən lazım idi

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

birincisi. Sonra

 bundle install 

mənim üçün çalışdı.

3
17 февр. Cavab 17 fevralda joh-mue tərəfindən verilir. 2015-02-17 17:16 '15 at 17:16 2015-02-17 17:16

Debian 7.0, 64-bit (Wheezy) üzərində, yalnız işləsin:

 sudo apt-get install libpq-dev 

Libpq-dev'yi uğurla yükledikten sonra, çalıştırın:

 bundle install 
2
19 февр. Cavab Eric Wu tərəfindən 19 Fevralda verilir . 2014-02-19 06:30 '14 saat 06:30 'da 2014-02-19 06:30

libpq-fe.h yer PostgreSQL libpq-fe.h yerləşdirilməsinin harada libpq-fe.h asılıdır (bu sizin libpq-fe.h bağlıdır). libpq-fe.h tapmaq üçün locate ( http://en.wikipedia.org/wiki/Locate_%28Unix%29 ). Əgər varsa, PostgreSQL quraşdırma sisteminizin include olacaq.

 $ locate libpq-fe.h /Library/PostgreSQL/9.1/include/libpq-fe.h 

pg_config olan bin daxil pg_config ilə eyni pg_config olacaq. Bu səhvdən bəhs edən kimi, marşrutu yükləmək üçün --with-pg-config parametrini istifadə edin:

 $ gem install pg --with-pg-config="/Library/PostgreSQL/9.1/bin/pg_config" 

updatedb ki, heç vaxt istifadə updatedb və ya PostgreSQL-ni quraşdırdıqdan sonra yenilənməmisinizsə, yenilənmiş updatedb tələb oluna bilər.

2
26 янв. cavab 26 yanvarda verildi 2015-01-26 07:57 '15 at 7:57 2015-01-26 07:57

CentOS 6.5-də (Squeeze) fayl yaratdım:

 $ sudo touch /etc/profile.d/psql.sh 

məzmunu ilə:

 pathmunge /usr/pgsql-9.3/bin 

PostgreSQL yolunu pg_config faylı ilə təyin etməlisiniz. Bunu əmr ilə tapa bilərsiniz:

 $ sudo find / -iname pg_config 

Faylı saxla:

 $ sudo chmod +x /etc/profile.d/ruby.sh 

və əmrini yenidən icra etməyə cəhd edin.

Qeyd Bash- in konfiqurasiyasını dəyişdiyiniz zaman - profile.d-in konfiqurasiyasını dəyişdirin - Başı yenidən başladın.

2
30 июля '14 в 6:46 2014-07-30 06:46 Cavab lucianosousa tərəfindən verilir 30 iyul 'da 6:46 2014-07-30 06:46

Mən yalnız dəm və postgres@9.4 çalışan OSX-də bunu etmişəm.

Mənim düzəltmə belə idi:

 CONFIGURE_ARGS="with-pg-include=/usr/local/opt/postgresql@9.4/include/" bundle install 
2
05 апр. Cavab Nick 05 apr verilir . 2017-04-05 00:17 '17 at 0:17 2017-04-05 00:17

Ubuntu'da bu problemdən qurtarmaq üçün "libpq-dev" qurun.

 sudo apt-get install libpq-dev 
2
12 нояб. Cavab Raju 12 noyabr tarixində verilir. 2017-11-12 16:34 '17 də 4:34 'da 2017-11-12 16:34

Nəhayət bu problemi həll etdim, amma daha əvvəl təsvir edilmiş üsulları istifadə etmədi.

brew install postgresql istifadə edərək, mən artıq quraşdırılmışdır, lakin bağlı deyil ki, tapa bilərsiniz.

  • PostgreSQL'in quraşdırıldığı yerdən və onu çıxarın,

  • Sonra brew install postgresql ,

  • brew link postgresql

  • gem install pg

2
15 февр. Cavab Şili Yang 15 Fevral verilir. 2016-02-15 11:24 '16 'da saat 11: 00-da 2016-02-15 11:24

FreeBSD-də (9.1) "pg" yüklənməsinin qurulmasına səbəb olan tələb olunan üstbilgi faylını quraşdırdıqda / usr / port / database / postgresql-server * paketi tələb olunur. Bu cavab mənə bir həll tapmağa kömək etdi, amma paket adları arasındakı fərq bir az axtarış tələb etdi.

Ümid edirəm ki, bu, FreeBSD sistemində "-dev" paketini axtararkən kimsə başlarını cızmaqdan qaçmaqdan kömək edir!

2
06 сент. Cavab Claus Due verildi 06 Sentyabr. 2013-09-06 03:27 '13 at 3:27 2013-09-06 03:27

Postgresql 9.6 ilə bu problemi yaşadım. Bunu düzəltməyə çalışdım:

 brew upgrade postgresql@9.6 brew link postgresql@9.6 --force gem install pg 
1
05 янв. Cavab mwalsher Jan 05 tərəfindən verilir 2018-01-05 23:04 '18 saat 11:04 'da 2018-01-05 23:04

Bənzər bir problemim vardı və bu mənim üçün düzəldildi:

 gem install do_postgres -- --with-pgsql-server-dir=/Applications/Postgres.app/Contents/MacOS --with-pgsql-server-include=/Applications/Postgres.app/Contents/MacOS/include/server 

Mənbə:

https://gist.github.com/oisin/6562181

1
07 февр. cavab verdi dunkles 07 Feb 2014-02-07 05:27 '14 da 5:27 2014-02-07 05:27

OS X 10.9 (Mavericks) üzərindəki brew-installed postgresql olduğumdan sonra rvm reinstall brew-installed postgresql məcburiyyətində qaldım. İndi xoşbəxtəm :)

1
25 авг. cavab verildi ether_joe 25 aug. 2014-08-25 23:21 '14 saat 11:21 'də 2014-08-25 23:21

AltLinux üçün postgresqlx.x-devel AltLinux paketi quraşdırılmalıdır (mənim vəziyyətim, postgresql9.5-devel ):

 apt-get install postgresql9.5-devel 
1
02 марта '16 в 10:23 2016-03-02 10:23 cavab Mal Skrylev verilir 02 Mart '16 saat 10:23 2016-03-02 10:23
  • 1
  • 2

Tags haqqında digər suallar və ya sual