pg (0.17.1)를 설치하는 동안 오류가 발생하여 Bundler를 계속할 수 없습니다.


87

방금 설치 Rails 4.0.2했고 새 앱을 만들 때 번들 단계에서 다음을 얻습니다.

Installing pg (0.17.1) 
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/Users/Dee/.rvm/rubies/ruby-2.0.0-p247/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.

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


1
osx 태그를 추가 할 수 있습니다. 솔루션은 특별히 사용자의 OS와 관련된 것으로 보입니다.
— Vince

방문하고 싶을 수도 있습니다. stackoverflow.com/questions/3116015/... . 그 솔루션의 도움을 희망 한
— 야나 Agun Siswanto

답변:


144

저는 Mavericks를 실행하는 Mac을 사용하고 있습니다. 내 해결책은 Postgres 를 설치하는 것이 었습니다 .

그런 다음 터미널에서 구성과 함께 homebrew를 사용하여 설치하십시오.

gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/latest/bin/pg_config

참고 :이 답변 latest은 현재 Postgres 앱의 배송 버전에 포함 된 심볼릭 링크 를 사용하도록 편집되었습니다 .

제안 된 이전 버전 :

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

네, 내 위치도 다릅니다. 답변 해주셔서 감사합니다.
— Deekor 2014

이것이 나를 위해 일한 postgresapp의 버전 인 Bob은 버전 9.2.2.0이었으며 9.3 릴리스 에서이 위치를 변경했을 것입니다.
— Robertibiris 2014

1
그리고 이제 15 년 1 월 2 일부로 9.4 릴리스를 검토하고 있습니다. 업데이트 상태를 유지하는 것이 좋습니다. "gem install pg---with-pg-config = / Applications / Postgres. app / Contents / Versions / 9.4 / bin / pg_config "
— corprew

3
나는 서두르고 "자택 양조를 사용하여 설치"라고 말하는이 답변의 일부를 놓쳤습니다. 이 대답은 내가 한 후에 저에게 brew update; brew install postgres
— Dennis

6
솔루션에서 버전을 추가하십시오, 다른 최신 PG 보석이 설치됩니다 :gem install pg -v '0.17.1' -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.3/bin/pg_config
— user1322092

182

오류의 일종 여기 resported 네이티브 확장 구축 실패 - OS X에 PG 보석 설치

Ubuntu에 종속성을 설치하려면 다음을 시도하십시오.

sudo apt-get install libpq-dev

이

gem install pg

5
Mac을 사용하는 경우 어떻게해야합니까?
— Deekor

1
railstutorial.org의 튜토리얼을 따릅니다. 이것이 Mint를 위해해야 ​​할 일입니다. 감사.
— 크리스토퍼 슈나이더

railstutorial.org-유료 튜토리얼; 다른 아이디어가 있습니까?
— Terra Ashley

21

앱 루트 :

  1. 양조 업데이트
  2. 양조 Postgres 설치
  3. gem 설치 페이지---with-pg-config = / usr / local / Cellar / postgresql / 9.3.4 / bin / pg_config
  4. 번들 설치
  5. ln -sfv /usr/local/opt/postgresql/*.plist ~ / Library / LaunchAgents
  6. launchctl load ~ / Library / LaunchAgents / homebrew.mxcl.postgresql.plist
  7. createuser -s -r postgres
  8. rake db : create : all
  9. rake db : migrate
  10. 레일 s

참고 : 필요한 경우 3 단계에서 버전 번호를 바꿉니다.


10

이전 버전으로 이전 작업 답변

www.postgresapp.com 의 postgres 앱 (버전 9.2.2.0)을 설치 한 상태로 mac OSX Mavericks에 설치했습니다. 근본적인 문제는 postgres가 앱을 통해 설치 되었기 때문에 구성 파일이 postgressapp없이 설치할 때 기본 위치가 아닌 위치에 있다는 점에서 단순했습니다. 그래서 우리는 gem에게이 파일을 찾을 위치를 다음과 같이 알려야합니다.

gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/MacOS/bin/pg_config

도움이되기를 바랍니다.


1
이것이 제 솔루션이었습니다 (OSX)
— raulriera 2014

이것이 누구에게도 작동하지 않으면 9.3의 경우 구성 파일이 이동되었습니다-수락 된 답변을 참조하십시오.
— Deekor 2014

5

gem install pg가 실패하면 다음 명령을 시도하십시오.

env ARCHFLAGS="-arch x86_64" gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/MacOS/bin/pg_config

... PostgreSQL.app 문서에서


2
공식 앱이 최근 이름을 "Postgres93.app"로 변경했기 때문에 명령은 다음과 같아야합니다. env ARCHFLAGS="-arch x86_64" gem install pg -- --with-pg-config=/Applications/Postgres93.app/Contents/MacOS/bin/pg_config
— Blackcoat

1
나를 위해 그것은 함께 일했습니다 : env ARCHFLAGS="-arch x86_64" gem install pg
— dnlcrl

4

PostgreSQL이 설치되어 있지 않은 것 같습니다. pg보석 네이티브 확장을 컴파일 PostgreSQL의 일부 헤더가 필요합니다.


Ruby / Bundler 설정은 어떻습니까? Mac OS X 또는 Linux를 사용하고 계십니까? Mac OS X를 사용하는 경우 homebrew또는 PostgreSQL.app을 통해 PostgreSQL을 설치 했습니까?
— tungd dec

Mac에 있습니다. 나는 응용 프로그램을 통해 설치
— Deekor

0.17.0이 설치되어 있습니다. 레일 4와 함께 사용하면 어떤 해가 있습니까?
— Deekor

그런 다음 실행 bundle config build.pg --with-pg-config=/Applications/Postgres.app/Contents/MacOS/bin/pg_config하고 bundle다시 실행 하십시오. 당신이 응용 프로그램을 설치 한 경우 설정 경로를 조정 ~/Application하기보다는/Application
— tungd

3

나는 모든 것을 결합하고 사용해야했다

sudo env ARCHFLAGS="-arch x86_64" gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.4/bin/pg_config

3

개발시 Postgres와 프로덕션에서만 Postgres 이외의 것을 사용하는 경우 다음과 같이 gemfile에 pg gem을 추가 할 수 있습니다.

group :production do
  gem 'pg',             '0.17.1'
end

그런 다음 bundle install --without production


3

CentOS 사용자의 경우 :

sudo yum install postgresql-devel

과

gem install pg

1

방금 Catalina로 미리 빌드 된 새로운 Macbook Pro를 설정했습니다.

나를 위해 일한 것 :

  1. 여기에서 Postgres를 설치하십시오 : https://postgresapp.com/
  2. 추가 export PATH="/Applications/Postgres.app/Contents/Versions/latest/bin:$PATH"사용자에 .zshenvZ 쉘은 이제 기본 터미널이기 때문에.

0

Postgres를 설치 한 후 다음 명령을 실행해야했습니다.

env ARCHFLAGS="-arch x86_64" gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.3/bin/pg_config

이 번들 설치 후 훌륭하게 작동합니다!

도움이되기를 바랍니다.


0

그 오류를 극복하는 방법은 다음과 같습니다.

  • 앱 폴더로 cd 한 다음 루비 버전을 로컬로 설정합니다. 루비 2.1.2를 사용하고 있습니다.

rbenv 로컬 2.1.2

  • 번들 설치를 실행하는 대신 공급 업체 / 번들에 gem을 설치하십시오.

번들 설치 --path 공급 업체 / 번들

이것은 나를 위해 해냈습니다.


0

나는 sudo를 사용해야했다

sudo gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.5/bin/pg_config

0

Amazon에 문제가있어서 apt-get을 사용할 수 없었습니다. 내 일을 위해 :

    sudo yum install postgresql-devel

그때:

    bundle install

다시 시도하십시오.

    rails serve

0

Homebrew를 통해 설치 한 경우; gem install pg -- --with-pg-config=/usr/local/bin/pg_config. Ruby 2.4.6 및 pg 0.20.0에서 작동합니다.


-2

그것은 나를 위해 작동합니다

rvm list gemsets
rvm use ruby-2.4.1
bundle

error [! [rvm use ruby로 해결됨] 2


pg여기 에 gem을 설치하지 않습니다
— zykadelic
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.