programing

페이지젬을 설치하려고 할 때 'libpq-fe.h' 헤더를 찾을 수 없습니다.

megabox 2023. 5. 4. 19:48
반응형

페이지젬을 설치하려고 할 때 'libpq-fe.h' 헤더를 찾을 수 없습니다.

Ruby on Rails 3.1 이전 버전을 사용하고 있습니다.는 Postgre를을 사용하는 것을 좋아합니다.는 SQL 입니다.pggem.과 같은오류를 : gem. 다음과 같은 오류가 발생합니다.

$ 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

이 문제를 어떻게 해결해야 합니까?

Ubuntu에서는 헤더가 패키지의 일부인 것처럼 보입니다(최소한 Ubuntu 버전에서는 11.04(Natty Narwhal), 10.04(Lucid Lynx), 11.10(Oneiric Ocelot), 12.04(Precise Pangolin), 14.04(Trusty Tahr)18.04(Bionic Beaver):

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

설해보십오를 해 보세요.libpq-devOS에 하는 것으로 간주됩니다.

  • Ubuntu/Debian 파일:sudo apt-get install libpq-dev
  • RHEL(Red Hat Linux) 시스템의 경우:yum install postgresql-devel
  • Mac 홈브루의 경우:brew install postgresql
  • MacMacPorts의 경우 PostgreSQL:gem install pg -- --with-pg-config=/opt/local/lib/postgresql[version number]/bin/pg_config
  • OpenSuse의 경우:zypper in postgresql-devel
  • ArchLinux의 경우:pacman -S postgresql-libs

MacOS(이전의 Mac OS X 및 OS X)에서는 Homebrew를 사용하여 적절한 헤더를 설치합니다.

brew install postgresql

그리고 나서 달리기

gem install pg

작동해야 합니다.

postgresql,넌 할 수 있다.brew install libpq한 올른정내니다냅보를보바를 .PATH그리고.PKG_CONFIG_PATH와 같이, 'Caveats' 섹션명바와한같이설서에▁as같바.

나는 또한 하려고 노력했습니다.gem install libpq-dev하지만 다음 오류가 발생했습니다.

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

나는 설때는할치하로 을 발견했습니다.sudo apt-getRails와 함) 작동했습니다즉, (Ruby on Rails와 함께 사용함).

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

그때 나는 할 수 있었습니다.

gem install pg

문제없이

다른 방법으로 해결할 수 있습니다.시스템에서 라이브러리를 찾지 못했습니다.그래서 저는 Postgre의 앱을 사용하여 설치했습니다.SQL 기본 웹 사이트.제 경우(OS X) 아래에서 파일을 찾았습니다./Library/PostgreSQL/9.1/include/설치가 완료되면 표시됩니다. PostgrePostgre를 가지고 다른 .SQL이 설치되었습니다.

Gem 설치를 위한 추가 경로를 추가하는 방법에 대한 이 링크 덕분에 다음 명령으로 Gem을 lib로 가리킬 수 있었습니다.

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

그 후에, 그것은 작동합니다, 왜냐하면 그것은 이제 어디서 없어진 도서관을 찾을 수 있는지를 알기 때문입니다.libpq-fe.h에 적합한 위치로 경로를 바꾸기만 하면 됩니다.

libpq-fe.h 헤더를 찾을 수 없습니다.

다음 명령을 실행하는 CentOS 7.0.1406에서 성공했습니다.

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

또는 항상 설치하도록 번들러를 구성할 수 있습니다.pg이러한 를 실행하는 데 필요한 )을 하여 다음과 같이 설정할 수 .

  • bundle config build.pg --with-pg-config=/usr/pgsql-9.4/bin/pg_config

CentOS 6.4의 경우

yum install postgresql-devel
gem install pg

잘 작동했습니다!

참고로.

PostgresApp이 설치된 OS X의 Ruby on Rails 4 애플리케이션(이 경우 0.17.1 버전 필요 - 일종의 오래된 프로젝트):

gem install pg -v '0.17.1' -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.3/bin/pg_config

그것은 단지 누락의 문제일 뿐입니다.libpq-fe.h

: Ubuntu 서실만하됩니다면에기.sudo apt-get install libpq-dev

의 명령어는 " " 를 합니다.libpq-dev 그런다다실수있다니습할행시음▁execute를 할 수 .bundle install번들 설치를 다시 시작합니다.

Mac OS X에서 다음과 같이 실행됩니다.

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

***/path/to/pg_config***pg_configpg_config의입니다.

나의 경우에는 그것은 패키지였습니다.postgresql-server-dev-8.4(Ubuntu 11.04(Natty Narwhal), 64비트에 있습니다.)

Postgre를 설치하지 않은 MacOS의 경우SQL 서버:

brew install libpq
gem install pg -- --with-pg-config="/usr/local/Cellar/libpq/9.6.6/bin/pg_config"

Fedora 30에 대한 나의 솔루션:

sudo dnf install /usr/include/libpq-fe.h

을 사용하는 은 Postgres.app을 입니다.libpq그 패키지와 함께 제공됩니다.예를 들어 9.4 릴리스(본 문서의 현재)에서는 다음과 같은 기능만 있으면 됩니다.

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

이것은 당신의 것을 유지할 것입니다.pg이 설치한 PostgrePostgre되어 .설치한 SQL입니다.이 경우 홈브루에서 무언가를 설치하는 것은 낭비입니다.

저는 아마존 리눅스에서도 같은 문제가 있었습니다.는 머리글인 머말리을수다니있습었을 수 .libpq-fe.h하지만 어떻게든 작동하지 않았습니다.

시스템의 다른 사용자를 통해 설치된 패키지의 다른 버전에서 제공되었습니다.포스트그레SQL 9.2 및 PostgreSQL 9.3이 설치되었습니다.그러니, 당신의 Postgre를 확인하세요.라이브러리를 포함하기 전의 SQL 버전입니다.

저에게 마법의 명령 줄은 다음과 같습니다.

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

출처: Postgre 설치위한 거의 바보 가이드.SQL 9.3, PostGIS 2.1 및 pgRouting with Yum

데비안 기반 배포판(Ubuntu 포함)에 대한 더 일반적인 답변은 다음과 같습니다.먼설합다를 합니다.apt-file루트로 실행 중인 패키지:

apt-get install apt-file

이렇게 하면 파일이 포함된 패키지를 검색할 수 있습니다.그런 다음 다음 다음을 사용하여 데이터베이스를 업데이트합니다.

apt-file update

(일반 사용자로 실행할 수 있습니다.)그런 다음 다음을 사용하여 누락된 헤더를 찾습니다.

apt-file search libpq-fe.h

내 컴퓨터에서, 이것은 다음을 제공합니다.

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

잘했어!

Ubuntu에 "libpq-dev"를 설치하여 이 문제를 제거합니다.

sudo apt-get install libpq-dev

32에서 페도라 32를 했습니다.libpq5-devel구체적으로

공식 저장소에서 postgresql을 설치하면 문제가 해결되지 않는 버전이 여러 개 있기 때문에 어떤 버전이 필요한지 테스트하는 것이 중요합니다.

데비안 불스아이에서, 기존의 어떤 대답도 저에게 그 문제를 해결해주지 않았습니다.

나와 같은 구성을 가진 사람에게 도움이 되는 경우:

  1. Postgre 사용SQL의 적절한 저장소: https://wiki.postgresql.org/wiki/Apt
  2. sudo apt-get update && sudo apt-get dist-upgrade Postgre(Postgre))v13에서 v14로 )
  3. sudo apt-get install libpq-dev
  4. gem install pg또는bundle install

Mac OS에서도 동일한 문제가 있었지만 Postgre를 설치했습니다.터미널에서 다음을 사용하여 SQL Gem을 쉽게 생성할 수 있습니다.

ARCHFLAGS="-arch x86_64" gem install pg

(Postgre)를 했습니다.을 사용하여 사용brew install postgresql.)

저는 이 답을 찾았고, 이틀 동안 조사한 결과, 이 답이 저에게 유일하게 도움이 되었습니다(Mac OS).

$ 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...

스택 오버플로 질문을 참조하십시오. 게시글찾을없습니다.SQL 클라이언트 라이브러리(libpq)입니다.

최근에 Mac OS X v10.10(요세미티)으로 업그레이드하여 구축하는 데 어려움을 겪었습니다.pg같은 보석

보고된 오류는 다음과 같습니다.

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

나의 해결책은gem uninstall pg그리고 나서.bundle update pg보석을 최신 것으로 대체합니다.나는 뛰었습니다brew update; brew upgradeYosemite 설치 후 이전에 설치한 최신 버전의 패키지를 가져옵니다.

Mac에서는 다음 코드를 사용하여 문제를 해결했습니다.

gem install pg -v '0.18.4' -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.4/bin/pg_config

Postgresql 9.6에서 이 문제가 발생했습니다.다음을 수행하여 문제를 해결할 수 있었습니다.

brew upgrade postgresql@9.6
brew link postgresql@9.6 --force
gem install pg

나는 Mac에서 Postgres.app을 실행하고 있고, 나는 해야만 했습니다.

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

처음에. 그다음에.

bundle install

저를 위해 일했습니다.

asdfsdf를 했습니다.me. -config에서 . 있는 명령을 .--with-pg-include

gem install pg -- --with-pg-include=/<path>/.asdf/installs/postgres/<version>/include

했습니다.OS에 설치했습니다.libpq-dev package

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".

아래와 같이 gem을 설치하면 문제가 해결되었습니다.

gem install pg -- --with-pg-config=/usr/pgsql-x.x/bin/pg_config

Ubuntu 20.04에서 libpq5:amd64 버전 13.2-1.pgdg20.04+1을 이미 가지고 있었습니다.이제 apt 저장소에서 libpq-dev를 설치하려고 했을 때,

The following packages have unmet dependencies:
libpq-dev : Depends: libpq5 (= 12.6-0ubuntu0.20.04.1) but 13.2-1.pgdg20.04+1 is to be installed

나는 빚을 졌습니다.http://ftp.us.debian.org/debian/pool/main/p/postgresql-13/libpq-dev_13.2-1_amd64.deb그리고 다음을 수행했습니다.

mkdir -p /tmp/libpq-dev
dpkg-deb -R libpq-dev_13.2-1_amd64.deb /tmp/libpq-dev
sed -i 's|= 13.2-1|= 13.2-1.pgdg20.04+1|' /tmp/libpq-dev/DEBIAN/control
dpkg-deb -b /tmp/libpq-dev /tmp/libpq-dev-new.deb
sudo dpkg -i /tmp/libpq-dev-new.deb

저는 그 이후로 보석을 행복하게 사용하고 있습니다.추가 설치나 기타 작업이 없습니다.

알파인의 경우 아래를 사용하여 오류를 수정하십시오.

apk add --no-cache postgresql-dev

MacOS Ventura에서 심볼 링크를 생성하여 해결했습니다.

postgresql이 이미 설치된 경우

brew link postgresql@12 --force

이 명령은 아래와 같이 디렉터리 경로를 제공합니다.

If you need to have this software first in your PATH instead consider running:
  echo 'export PATH="/opt/homebrew/opt/postgresql@12/bin:$PATH"' >> ~/.zshrc

사용 중인 컴퓨터에 zsh 또는 bash_profile을 추가해야 합니다.

FreeBSD(9.1)에서 필요한 패키지는 /usr/ports/database/postgresql-server*입니다. 이 패키지를 설치하면 "pg"의 Gem 설치가 실패하는 필수 헤더 파일도 설치됩니다.이 답변은 제가 해결책을 찾는 데 도움이 되었지만 패키지 이름의 차이는 약간의 검색을 필요로 했습니다.

이것이 누군가가 FreeB에서 "-dev" 패키지를 검색할 때 머리를 긁는 것을 피하는 데 도움이 되기를 바랍니다.SD 시스템!

언급URL : https://stackoverflow.com/questions/6040583/cant-find-the-libpq-fe-h-header-when-trying-to-install-pg-gem

반응형