[ruby-on-rails] Mavericks를 사용하여 Mac에 PG gem을 설치할 수 없음

내 레일 프로젝트를 다시 작업하기 위해 pg gem을 설치하려고합니다. 하지만이 오류가 발생합니다.

기본 확장 빌드. 시간이 걸릴 수 있습니다 … 오류 : pg 설치 오류 : 오류 : gem 기본 확장을 빌드하지 못했습니다.

/Users/jeanosorio/.rvm/rubies/ruby-2.0.0-p247/bin/ruby extconf.rb checking for pg_config... no No pg_config... trying anyway. If

빌드 실패, –with-pg-config = / path / to / pg_config로 libpq-fe.h 확인을 다시 시도하십시오 … no ‘libpq-fe.h 헤더를 찾을 수 없음
* extconf.rb 실패 * 어떤 이유로 인해 Makefile을 만들 수 없습니다. 필요한 라이브러리 및 / 또는 헤더가 부족한 것 같습니다. 자세한 내용은 mkmf.log 파일을 확인하십시오. 구성 옵션이 필요할 수 있습니다.

제공되는 구성 옵션 : –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 = / Users / jeanosorio / .rvm / rubies / ruby-2.0.0-p247 / bin / ruby ​​–with-pg –without-pg –with-pg-config –without-pg -config –with-pg_config –without-pg_config –with-pg-dir –without-pg-dir –with-pg-include –without-pg-include = $ {pg-dir} / include- -with-pg-lib –without-pg-lib = $ {pg-dir} /

Gem 파일은 검사를 위해 /Users/jeanosorio/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/gems/2.0.0/gems/pg-0.17.0에 설치되어 있습니다. /Users/jeanosorio/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/gems/2.0.0/gems/pg-0.17.0/ext/gem_make.out에 기록 된 결과

나는 stackoverflow에서 찾은 모든 것을 시도했지만 여전히이 오류가 발생합니다.

brew를 사용하여 postgresql을 설치하려고하면 다음 경고가 표시됩니다.

경고 : postgresql-9.2.4가 이미 설치되어 있으며 연결되지 않았습니다.

링크를 시도하면

brew link postgresql Linking /usr/local/Cellar/postgresql/9.2.4 … 경고 : postgresql을 연결할 수 없습니다. 연결 해제 중 …

오류 : 파일을 심볼릭 링크 할 수 없습니다 : /usr/local/Cellar/postgresql/9.2.4/share/man/man7/WITH.7 / usr / local / share / man / man7에 쓸 수 없습니다. 권한을 변경해야합니다.

도와주세요

참고 : 나는 이미 매버릭을위한 명령 줄 도구를 설치했습니다.


homebrew를 사용하여 제거하고 다시 설치하려고하면 다음 오류가 발생합니다.

==> http://ftp.postgresql.org/pub/source/v9.2.4/postgresql-9.2.4.tar.bz2 다운로드

################################################# ################ 100.0 %

==> 패치 패치 파일 src / pl / plpython / Makefile 패치 파일 contrib / uuid-ossp / uuid-ossp.c ==> ./configure –prefix = / usr / local / Cellar / postgresql / 9.2.4- datadir = / usr / local / Cellar / postgresql / 9.2.4 / share / postgresql –docdir = / usr / local / Cellar / p ==> make install-world ==>주의 사항

빌드 노트

PostgreSQL 9 빌드가 실패하고 버전 8.x가 설치되어있는 경우 먼저 이전 버전을 제거해야 할 수 있습니다. 참조 :
https://github.com/mxcl/homebrew/issues/issue/2510

데이터베이스 생성 / 업그레이드

처음 설치하는 경우 다음을 사용하여 데이터베이스를 만듭니다. initdb / usr / local / var / postgres -E utf8

PostgreSQL의 이전 주 버전 (9.2 이전)에서 기존 데이터를 마이그레이션하려면 http://www.postgresql.org/docs/9.2/static/upgrading.html을 참조하십시오.

확장로드

기본적으로 Homebrew는 사용 가능한 모든 Contrib 확장을 빌드합니다. 사용 가능한 모든 확장 목록을 보려면 psql 명령 줄에서 다음을 실행합니다.
SELECT * FROM pg_available_extensions;

확장 이름을로드하려면 원하는 데이터베이스로 이동하여 다음을 실행하십시오. CREATE EXTENSION [확장 이름];

예를 들어, 현재 데이터베이스에서 tablefunc 확장을로드하려면 다음을 실행하십시오. CREATE EXTENSION tablefunc;

는 CREATE EXTENSION 명령에 대한 자세한 내용은 다음을 참조하십시오
http://www.postgresql.org/docs/9.2/static/sql-createextension.html를 자세한 내용은 확장에, 참조 :
http://www.postgresql.org/ docs / 9.2 / static / contrib.html

다른

일부 시스템은 공유 메모리 프로비저닝이 필요할 수 있습니다.
http://www.postgresql.org/docs/9.2/static/kernel-resources.html#SYSVIPC
postgres gem을 설치할 때 ARCHFLAGS를 포함하는 것이 좋습니다. ARCHFLAGS = “-arch x86_64” gem 설치 pg

sudo없이 gem을 설치하려면 Homebrew 위키를 참조하세요.

로그인시 postgresql을 시작하려면 : ln -sfv /usr/local/opt/postgresql/*.plist ~ / Library / LaunchAgents 그런 다음 지금 postgresql을로드하려면 : launchctl load ~ / Library / LaunchAgents / homebrew.mxcl.postgresql.plist 또는 , launchctl을 원하지 않거나 필요하지 않으면 다음을 실행할 수 있습니다. pg_ctl -D / usr / local / var / postgres -l /usr/local/var/postgres/server.log start 경고 : postgresql을 연결할 수 없습니다. 연결 해제 중 … 오류 : brew link단계가 성공적으로 완료되지 않았습니다. 수식이 빌드되었지만 / usr / local에 심볼릭 링크되지 않았습니다.`brew link postgresql ‘을 사용하여 다시 시도 할 수 있습니다. ==> 요약 ? /usr/local/Cellar/postgresql/9.2 .4 : 파일 2831 개, 38M, 4.9 분 내에 빌드 됨


해결책:

폴더의 권한을 변경하기 위해이 명령을 실행합니다.

sudo chown jeanosorio / usr / local / share / man / man7

그때

brew link postgresql Linking /usr/local/Cellar/postgresql/9.3.1 … 421 symlinks created

그리고 마지막으로:

sudo ARCHFLAGS = “-arch x86_64″gem 설치 페이지

가져 오기 : pg-0.17.0.gem (100 %) 네이티브 확장 빌드. 시간이 좀 걸릴 수 있습니다 … pg-0.17.0을 성공적으로 설치했습니다.



답변

MacPorts를 사용하지 않으려면 Postgres 앱을 다운로드 하여 Application 디렉터리에 넣을 수 있습니다.

그런 다음 새로 다운로드 한 위치를 지정합니다 pg_config.

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

헤더 누락 문제가 발생 include하면 앱 의 디렉토리를 지정해보세요 .

gem install pg -- --with-pg-include='/Applications/Postgres.app/Contents/Versions/latest/include/'


답변

brew를 사용하여 postgresql

brew install postgresql

설치된 brew에 pg_config가 있는지 확인하십시오. 나는 내 것을 찾았다

/usr/local/Cellar/postgresql/9.3.3/bin/pg_config

다음을 통해 확인하십시오.

$ ls /usr/local/Cellar/postgresql/9.3.3/bin/pg_config
> /usr/local/Cellar/postgresql/9.3.3/bin/pg_config

완료되면 다음을 사용하여 pggem을 설치하십시오.

env ARCHFLAGS="-arch x86_64" gem install pg -- --with-pg-config=/usr/local/Cellar/postgresql/9.3.3/bin/pg_config


답변

MacPorts를 통해 postgres를 설치할 수 없었습니다. 대신 Postgress.app을 설치했습니다 . 그리고 전화

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

참고 : 최신 버전 (최소 9.3)에서 경로는 실제로 다음과 같습니다. /Applications/Postgres.app/Contents/Versions/9.3/bin/pg_config


답변

homebrew가 있으면 다음을 입력하십시오.

$ brew install postgresql


답변

postgresql 설치 프로그램을 직접 사용하려는 경우 다른 대안이 있습니다. 매버릭스로 업데이트 한 후 시작하려면 몇 가지 후프를 거쳐야합니다. 내가 한 일은 다음과 같습니다.

먼저 xcode 명령 줄 도구를 설치합니다.

xcode-select --install

최신 버전의 PostgreSQL (9.3.1)을 다운로드하여 설치합니다. 필자의 경우 그래픽 설치 프로그램을 사용했습니다. 다음은 다운로드 페이지 링크입니다.

http://www.enterprisedb.com/products-services-training/pgdownload#osx

제공되는 모든 기본값을 선택하십시오. 내 경우에는 postgres를 다음 디렉토리에 설치했습니다. 다른 디렉토리에 설치했다면 곧 필요할 것이므로 선택한 경로를 기억하십시오.

/Library/PostgreSQL/9.3

이제 최신 pg gem (0.17.0)을 설치하려면 명령 줄에서 몇 가지 옵션을 전달해야합니다. 이것이 내가 사용한 것입니다.

ARCHFLAGS="-arch x86_64" gem install pg -- --with-pg-config=/Library/PostgreSQL/9.3/bin/pg_config

다른 위치에 postgres를 설치했다면 pg_config 파일의 경로를 수정해야합니다.

pg gem을 설치하는 동안 누락 된 ‘libpq.5.dylib’파일에 대해 불평하는 경우이 파일의 실제 위치를 가리키는 심볼릭 링크를 생성해야합니다. Postgres는 / usr / local / lib / 디렉토리에서 그것을 찾고 있으므로 거기에 심볼릭 링크를 만들고 실제 위치로 리디렉션합니다. 제 경우에는 다음을 실행해야했습니다.

sudo ln -s /Library/PostgreSQL/9.3/lib/libpq.5.dylib /usr/local/lib/libpq.5.dylib

일단 그렇게했다면 gem을 다시 설치해보세요. 그러면 저에게했던 것과 같은 방식으로 작동하기를 바랍니다.


답변

나를 위해 Yosemite에서는 pg_config경로 를 지정할 필요가 없었습니다 . 다음이 완료되었습니다.

brew install postgresql
sudo env ARCHFLAGS="-arch x86_64" gem install pg

아키텍처 플래그가 핵심 인 것 같습니다.


답변

제 경우에는 (Mavericks에서 PG 0.16.0이 필요했습니다) MacPorts 를 통해 postgresql을 설치했습니다.

sudo port install postgresql90

그리고

gem install pg -v '0.16.0' -- --with-pg-config=/opt/local/lib/postgresql90/bin/pg_config

최신 버전의 경우 -v ‘0.16.0’을 공제해야합니다.

gem install pg -- --with-pg-config=/opt/local/lib/postgresql90/bin/pg_config

Homebrew가 설치되어있는 경우 공존에 대해 읽기 전에 MacPorts를 설치하지 마십시오.