2012-08-08 7 views
3

Lion에서 Mountain Lion으로 업그레이드 한 이후로 지금까지 Rails 개발 환경을 백업하려고했습니다. 문제는 특별히 pg-0.14.0 (postgresql) 젬을 설치하는 것입니다.Mountain Lion 설치 후 postgresql gem을 설치할 수 없습니다.

나는이 post에 대한 지침을 시도했지만 행운이 없습니다. Homebrew로 Postgres를 제거한 다음 다시 설치하려고했습니다. 아무것도 작동하지 않습니다. 나는이 보석을 설치하려고하면이 오류를받을 :

Building native extensions. This could take a while... 
ERROR: Error installing pg: ERROR: Failed to build gem native extension. 

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb 
checking for pg_config... yes 
Using config values from /usr/local/bin/pg_config 
checking for libpq-fe.h... yes 
checking for libpq/libpq-fs.h... yes 
checking for pg_config_manual.h... yes 
checking for PQconnectdb() in -lpq... no 
checking for PQconnectdb() in -llibpq... no 
checking for PQconnectdb() in -lms/libpq... no 
Can't find the PostgreSQL client library (libpq) 

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

내가 mkmf.log를 찾을 수 있습니까? 누구든지 pg gem을 다시 설치하는 방법에 대한 제안을 나에게 줄 수 있습니까?

갱신 나는 사용하여 내 mkmf.log 파일을 찾을 수 있었다 :

find/-name mkmf.log 2>/dev/null

아래와 같은 몇 가지 xcrun 실패 호출이 있습니다

have_library :에) (PQconnectdb 확인 -llibpq ... -------------------- 아니요

"xcrun cc -o conftest -I. -I/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin12.0 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I/usr/local/Cellar/postgresql/9.1.4/include -arch i386 -arch x86_64 -g -Os -pipe -fno-common -DENABLE_DTRACE -fno-common -pipe -fno-common conftest.c -L. -L/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib -L. -arch i386 -arch x86_64 -L/usr/local/Cellar/postgresql/9.1.4/lib -lruby -llibpq -lpthread -ldl -lobjc " ld: library not found for -llibpq clang: error: linker command failed with exit code 1 (use -v to see invocation)

xcrun을 실행할 때 오류가 발생하는 이유는 무엇입니까? 이걸 본 사람 있니?

감사합니다.

답변

2

마지막으로 해결되었습니다. 나는 RVM을 사용하여 ruby를 제거하고 1.9.3 버전의 ruby를 다시 설치했습니다. 이로 인해 문제없이 '번들 설치'를 실행할 수있었습니다. 나는 모든 보석이로드 된 곳 (보석 목록)을 점검했다. 그러나 내 레일 응용 프로그램은이 시점에서 postgres 소켓 파일을 찾을 수 없습니다. 동일한 문제는 postgresql을 찾는 것이 아니라 here.입니다.conf 파일, 권한 변경, 편집 현재 Postgres의 현재 버전을 제거하고 PostGres에서 최신 One-Click 설치 프로그램을 다운로드했습니다. 설치 프로그램을 다시 실행하면 다른 PostGres 설치가 감지되어 업데이트되었습니다. 이것은 나를 위해 구성을 업데이트했고 모두 잘 돌아 왔습니다.

나는이 산 사자 : 몇 가지 다른 가난한 레일 dev에 업그레이드 도움이 될 희망

2

오류는 바로 그것을 말한다 : 그것은 libpq를 찾을하거나이 실패에 테스트 프로그램 및 링크를 컴파일하려고 그 테스트 할 수

checking for PQconnectdb() in -lpq... no 
checking for PQconnectdb() in -llibpq... no 
checking for PQconnectdb() in -lms/libpq... no 
Can't find the PostgreSQL client library (libpq) 

. /usr/local/bin/pg_config을 발견했기 때문에 Pg 라이브러리와 헤더가있는 곳을 알아야하기 때문에 문제는 아마도 테스트 컴파일에서의 오류 일 것입니다.

자세히 알아 보려면 mkmf.log을 검사해야합니다.

find . -name mkmf.log 

을 gem install 명령을 실행 한 디렉토리에서 실행하면 아마도 그 디렉토리를 찾을 수 있습니다. 게시물을 내용으로 업데이트하십시오.

+0

답장을 보내 주셔서 감사합니다. gem install pg -v '0.14.0'을 실행하면 오류없이 gem이 설치됩니다. 그러나 번들 설치를 실행하면 게시 한 오류가 발생합니다. 위의 두 명령을 모두 실행 한 mkmf.log 파일을 같은 디렉토리에서 찾으려고하면 찾을 수 없습니다. – Nick

+0

@ 닉 당신이 내 Ruby + Mac OS X 지식 밖에 있다고 걱정됩니다. 번들 명령이 어딘가에 임시 컴파일 디렉토리에서 실행되는지 확인하기 위해 일부 파기를 수행하십시오. 기다릴 용의가 있다면'find/-name mkmf.log 2>/dev/null'을 실행하여 권한 오류를 억제하고 전체 시스템을 검색하십시오. –

+0

나는 그것을 할 것이다. 감사. – Nick

0

나는 이것으로 몇 시간 동안 고생했지만 설정에서 작동하는 것을 찾지 못했습니다.

postgres.app으로 끝났습니다. 이것은 Heroku의 사람들이 발표 한 Postgres 패키지 버전입니다. 그들은 "Mac에서 postgreSQL을 실행하는 가장 쉬운 방법"이라고 말합니다. 내 경험에 비추어 볼 때 이것은 사실입니다!

그냥 애플리케이션 폴더에 넣으면 완료됩니다. (방금 포트 5432를 비우기 위해 다시 시작해야했습니다).

사이드 노트 : 데이터베이스 관리 및 쿼리를 위해 Induction이라는 응용 프로그램을 릴리스했지만 현재는 Mountain Lion에서 사용할 수 없습니다.

+0

한번 시도해 보겠습니다. 제안을 주셔서 감사합니다 – Nick

+0

이것은 나를 위해 작동하지 않았다. 실제로 그것을 실행할 때 아무 것도하지 않는 것 같습니다. PostgreSQL을 이미 설치했기 때문에 어쩌면? – Nick

+0

메뉴 막대에 작은 코끼리가 있습니까? 그렇다면 클릭하십시오. 너 뭐가 보이니? – Pierre

관련 문제