Rails: OS X에 PG gem 설치 중 - 기본 확장 빌드 실패
다른 많은 사람들이 페이지 보석을 설치하는 데 문제가 있었던 것 같습니다.다른 사람들을 위해 제기된 어떤 해결책도 저에게 효과가 없었습니다.
저는 pgem과 postgres.app을 설치하려고 했습니다.페이지 보석이 설치되지 않습니다.첫 번째 오류는 다음과 같습니다.
페이지(0.17.0)를 설치하는 동안 오류가 발생하여 번들러를 계속할 수 없습니다. 반시를 확인하세요.gem install pg -v '0.17.0'
번들하기 전에 성공합니다.
gem 설치를 pg용 구성으로 지정하는 것에 대한 설치 안내가 실패하고 다음 오류 메시지가 표시됩니다(이 포럼의 다른 많은 사람들이 이 메시지를 발견했습니다).
Failed to build native extensions... Results logged to /Users/melanie/.rvm/gems/ruby-1.9.3-p448/gems/pg-0.17.0/ext/gem_make.out
추가 단서를 찾기 위해 이 로그 파일을 찾거나 액세스하는 방법을 모르겠습니다.
또한 sudo apt-get install 명령을 사용하려고 하면 오류 메시지(명령을 찾을 수 없음)가 표시됩니다.저는 지난 6시간 동안 이 포럼을 샅샅이 뒤졌고, 각각의 조언을 시도하여 제 레일 프로젝트와 함께 PG를 작업하도록 했습니다.
경로를 변경하는 방법이나 구체적으로 어떤 변경이 필요한지에 대한 조언을 찾을 수 없습니다.나의which pg_config
파일 원본을 반환합니다.나는 그 구성을 사용하여 pg를 설치하는 명령과 함께 그것을 사용했습니다.실패합니다.
많은 사람들이 이것으로 어려움을 겪었습니다.많은 대답들이 홈브루를 제안합니다.저는 그것이 다른 문제들을 제기했기 때문에 그것을 제거해야만 했습니다.
저와 OS X 10.9(Mavericks)를 다운로드하기 전까지는 동일한 오류가 발생하지 않았습니다.또 다른 OS 업그레이드 문제입니다.
제가 (홈브루로) 고친 방법은 다음과 같습니다.
- Tools(Xcode )의 : Xcode Tools(Xcode Tools)).
brew update
터미널에서 Xcode 빌드 도구를 업데이트하라는 메시지가 표시됩니다.) brew update
brew install postgresql
후에 그후에.gem install pg
저를 위해 일했습니다.
Ubuntu를 사용하는 경우 다음 lib 파일을 설치해 보십시오.
sudo apt-get install libpq-dev
그리고 나서.
gem install pg
저를 위해 일했습니다.
OS X 매버릭스(버전 10.9)를 사용하고 있습니다.
위를 실행하면 다음과 같은 메시지가 표시됩니다.Postgre 빌드의 경우SQL 9에 오류가 발생하여 버전 8.x가 설치되어 있습니다.
그래서 다음 명령을 실행합니다.
ARCHFLAGS="-arch x86_64" gem install pg
그리고 이것은 저에게 효과가 있었습니다, 저는 이것이 누군가에게 도움이 되기를 바랍니다:)
네, 이 문제도 있었습니다(psql은 v9.3.0이고 ruby는 v2.1.2). 해결책은 먼저 번들 구성 설정을 설정하는 것이었습니다.
bundle config build.pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.3/bin/pg_config
이 대답은 마침내 제가 그것을 알아내는 데 도움을 주었습니다: https://stackoverflow.com/a/9235107/3546680 .https://stackoverflow.com/a/9235107/3546680
몇 시간 동안 모든 것을 시도했지만 다음과 같은 문제가 해결되었습니다(OS X 10.9.4 버전).
- Xcode 명령줄 도구 설치(Apple 개발자 사이트)
- brew 제거 postgresql
- brew 설치 postgresql
- ARCHFLAGS="-arch x86_64" 보석 설치 페이지
쉬운 걸음걸이
brew install postgresql
gem install pg -v 'your version'
마찬가지로, 매버릭스를 설치한 후bundle update
생산에만 사용되고 현지에서는 사용되지 않는 pggem에 오류를 던지고 있었습니다.
Brew를 사용하여 패키지를 관리하고 postgresql이 이미 설치되었지만 'nogp_config' 오류가 발생했습니다.
해결책은 바로brew uninstall postgresql
,그리고나서brew install postgresql
그 후에 나는 즉시 성공적으로 달릴 수 있었습니다.bundle update
.
Postgres.app에 대한 PATH를 먼저 올바르게 구성하여 다음을 추가하는 것이 "올바른" 답이라고 생각합니다.~/.profile
(.zshrc
또는~/.zprofile
ZSH를 사용하는 경우):
export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/latest/bin
그런 다음 터미널에서 새 탭 또는 창을 열고 설치합니다.pg
다음이 포함된 보석:
ARCHFLAGS="-arch x86_64" gem install pg
여기에 문서화됨:
- https://postgresapp.com/documentation/cli-tools.html
- https://postgresapp.com/documentation/configuration-ruby.html
/Applications에 Postgres가 설치된 OSX에서 다음 명령을 실행합니다(버전에 따라 0.20 및 9.4 변경).
gem install pg -v '0.20' -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.4/bin/pg_config
다음을 수행해야 합니다.
'--with-pg-config=/Applications/Postgres.app/Contents/Versions/9.4/bin/pg_config'를 사용하여 네이티브 확장을 빌드하는 중입니다. 이 작업은 시간이 좀 걸릴 수 있습니다.pg-0.20을 설치했습니다.
입니다.brew update
그리고 나서.brew install postgresql
나를 위해 일했고, 나는 운영할 수 있었습니다.pg
gem 파일은 그 이후로 문제가 없습니다.
하루 동안 이 문제를 해결한 방법은 다음과 같습니다.
build.pg 의 글로벌 값이 다음과 같이 설정되었습니다./opt/local/lib/postgresql91/bin/pg_config
우체국이 설치된 곳이 아닙니다.
build.pg 의 값을 다음으로 바꾸는 것으로 수정했습니다.bundle config build.pg --with-pg-config=/usr/local/Cellar/postgresql/9.4.4/bin/pg_config
postgresql 설치 장소입니다.
시도:
gem install pg -- --with-pg-config=`which pg_config`
해결되었습니다! Postgre를 위한 라이브러리가 부족하다는 것을 발견했습니다.시스템에 SQL이 있습니다.단 두 단계로 해결했습니다.
brew install postgresql
그럼 실행
gem install pg
사용에 관심이 없는 사용자를 위한brew
.
- 다운로드.
PostgreSQL
어플. - macOS 기본 지침에 따라 설치합니다.
- 실행하는 것이 좋습니다.
PostgreSQl
. - 달려.
gem install pg -- --with-pg-config=
/path/to/postgress/in/사용자/응용 프로그램/폴더/'- 예를 들어, 내 기계에서 그것은
/Applications/Postgres.app/Contents/Versions/12/bin/pg_config
- 예를 들어, 내 기계에서 그것은
나는 같은 문제를 얻었고 해결했습니다.
gem update --system 3.0.6
언급URL : https://stackoverflow.com/questions/19262312/rails-installing-pg-gem-on-os-x-failure-to-build-native-extension
'programing' 카테고리의 다른 글
C#에서 문자열에 새 줄 추가 (0) | 2023.06.01 |
---|---|
루비에서 proc와 람다의 차이점은 무엇입니까? (0) | 2023.06.01 |
새 Android 단편을 인스턴스화하는 모범 사례 (0) | 2023.06.01 |
Android 장치의 기본 전자 메일 주소를 가져오는 방법 (0) | 2023.06.01 |
루비의 include와 require의 차이점은 무엇입니까? (0) | 2023.06.01 |