Nepavyko rasti libpq-fe.h antraštės, kai bandote įdiegti „pg gem“

Naudoju Ruby on Rails 3.1 versijos išleidimo versiją. Man patinka naudoti „PostgreSQL“, tačiau problema yra įdiegti „ pg gem“. Tai suteikia man šią klaidą:

 $ 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 

Kaip išspręsti šią problemą?

670
18 мая '11 в 9:11 2011-05-18 09:11 Demonchandas nustatytas gegužės 18 d., 11 val., 11:11 . 2011-05-18 09:11
@ 38 atsakymai
  • 1
  • 2

OS X 10.9 (Mavericks) sistemoje brew-installed postgresql , o tada turėjau rvm reinstall Ruby. Aš dabar laimingas :)

1
25 авг. atsakymas duotas ether_joe 25 rug . 2014-08-25 23:21 '14, 11:21 pm 2014-08-25 23:21

Tą pačią klaidą susidūriau su postgres, įdiegtais per asdf. Pg-config sprendimai man neveikė. Vietoj to turėjau rasti aplanką „ --with-pg-include , kuriame yra failas, ir paleiskite komandą su - su --with-pg-include vėliava

 gem install pg -- --with-pg-include=/<path>/.asdf/installs/postgres/<version>/include 
0
05 февр. Atsakymą pateikė Matthias Michael Engh 05 Feb. 2019-02-05 22:57 '19 , 10:57 pm 2019-02-05 22:57

„Mac OS X“ tiesiog įdiekite https://postgresapp.com/ ir vadovaukitės komandinės eilutės sekcijos ir rubino instrukcijomis

 sudo mkdir -p /etc/paths.d  echo /Applications/Postgres.app/Contents/Versions/latest/bin | sudo tee /etc/paths.d/postgresapp 

tada

 sudo ARCHFLAGS="-arch x86_64" gem install pg 
0
24 апр. Atsakymas, kurį pateikė Muhammad Hassan Nasr balandžio 24 d 2018-04-24 21:00 '18 21:00 val. 2018-04-24 21:00

1 veiksmas) Įsitikinkite, kad jūsų sistemoje įdiegtas pašto ženklas (jei jis jau yra įdiegtas ir galite paleisti pašto serverį kompiuteryje, eikite į 2 veiksmą)

 apt-get install postgresql postgresql-contrib (sol - fatal error: libpq-fe.h: No such file or directory) sudo apt-get install ruby-dev (required to install postgress below) sudo gem install pg sudo service postgresql restart 

2 žingsnis) Kai kurie „c ++“ failai bando tiesiogiai pasiekti „ libpq-fe.h ir negali jų rasti. Todėl reikia rankiniu būdu ieškoti kiekvieno tokio failo ir pakeisti libpq-fe.h su postgresql/libpq-fe.h

Komanda ieškoti visų libpq-fe.h įvykių visuose dir ir grep -rnw. / -e 'libpq-fe.h' yra grep -rnw. / -e 'libpq-fe.h' grep -rnw. / -e 'libpq-fe.h'

3) pereikite prie visų failų, išvardytų komandoje, paleiskite 2 veiksme ir rankiniu būdu pakeiskite libpq-fe.h naudodami postgresql/libpq-fe.h .

0
19 мая '18 в 2:23 2018-05-19 02:23 atsakymas suteikiamas sergant gegužės 19, 18 dienomis 2:23 ; 2018-05-19 02:23

OS X ir MacPorts programose „PostgreSQL“ paketas nebėra reikalingas. „ pg brangakmenio įrengimas veikia taip:

 ~ > sudo port install postgresql-devel ... Error: postgresql-devel has been replaced by postgresql91; please install that port instead ~ > gem install pg -v '0.17.1' -- --with-pg-config=/opt/local/lib/postgresql95/bin/pg_config 

Taip pat žiūrėkite šį įrašą .

0
29 авг. Atsakymą pateikė Jens 29 rug. 2015-08-29 12:39 '15 at 12:39 2015-08-29 12:39

„Arch Linux“ sistemoje turėsite įdiegti postgresql-libs :

 sudo pacman -Syu postgresql-libs 
0
21 марта '17 в 22:23 2017-03-21 22:23 Atsakymą davė Philip Kirkbride kovo 21 d. 17 d. 22:23 pm 2017-03-21 22:23

Tik pašalinus (sudo apt-get purge) libpq-dev ir iš naujo įdiegėte jį.

0
23 марта '14 в 18:30 2014-03-23 18:30 atsakymą pateikė vasilakisfil kovo 23 d., 14 d., 18:30, 2014-03-23 ​​18:30

Tą pačią klaidą nustatiau iš naujo įdiegus Ruby via rvm:

 rvm reinstall 1.9.3 
-1
30 июля '12 в 1:24 2012-07-30 01:24 atsakė Micah Robersonui liepos 30 d., 12 val
  • 1
  • 2