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.