복붙노트

[RUBY-ON-RAILS] PG 보석을 설치할 수 없습니다

RUBY-ON-RAILS

PG 보석을 설치할 수 없습니다

나는 페이지를 설치 보석을 사용하여 시도했지만 작동하지 않는 것.

페이지를 설치 보석이 오류를 제공합니다

Temporarily enhancing PATH to include DevKit...
Building native extensions.  This could take a while...
ERROR:  Error installing pg:
        ERROR: Failed to build gem native extension.

C:/Ruby/bin/ruby.exe 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.

Provided configuration options:
        --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=C:/Ruby/bin/ruby
        --with-pg
        --without-pg
        --with-pg-dir
        --without-pg-dir
        --with-pg-include
        --without-pg-include=${pg-dir}/include
        --with-pg-lib
        --without-pg-lib=${pg-dir}/lib
        --with-pg-config
        --without-pg-config
        --with-pg_config
        --without-pg_config


Gem files will remain installed in C:/Ruby/lib/ruby/gems/1.8/gems/pg-0.10.1 for
inspection.
Results logged to C:/Ruby/lib/ruby/gems/1.8/gems/pg-0.10.1/ext/gem_make.out

해결법

  1. ==============================

    1.여기 답변 : Windows에서 페이지 보석을 설치할 수 없습니다

    여기 답변 : Windows에서 페이지 보석을 설치할 수 없습니다

  2. ==============================

    2.나는이 문제가이 나를 위해 일했다 :

    나는이 문제가이 나를 위해 일했다 :

    PostgreSQL의-(STABLE) 패키지를 설치,이 누락 pg_config의 문제를 해결할 것입니다.

    sudo apt-get install libpq-dev
    
  3. ==============================

    3.페이지의 메이크업을 설치하기 전에 당신이 "libpq를-DEV"설치 때문에 문제는 보석 의존성이다

    페이지의 메이크업을 설치하기 전에 당신이 "libpq를-DEV"설치 때문에 문제는 보석 의존성이다

    우분투 시스템 :

    RHEL 시스템 :

    맥:

  4. ==============================

    4.보석 설치 페이지 - --with-PG-설정 =는 / usr / pgSQL의-9.1 / 빈 / pg_config

    보석 설치 페이지 - --with-PG-설정 =는 / usr / pgSQL의-9.1 / 빈 / pg_config

  5. ==============================

    5.@Winfield는 말했다 :

    @Winfield는 말했다 :

    그 이상, 당신은 단지 그것을 설치 = --with-PG-설정해야합니다.

    , 혹시, 당신은 또한 맥의 웹 사이트 번들을 통해 포스트 그레스를 설치 한 경우, 그것은 /Applications/Postgres.app/Contents/Versions/9.3/bin 같은 곳에있을 것입니다.

    그래서 어느 당신은 설치 보석에 전달할 :

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

    또는 당신은 제대로 경로를 설정합니다. 즉 너무 많이 될 수 있기 때문에 일시적으로 PATH를 설정합니다 :

    export PATH=%PATH:/Applications/Postgres.app/Contents/Versions/9.3/bin/
    
  6. ==============================

    6.난 그냥 사용하여 설치 그래서 나는, 설치 PostgreSQL을하지 않았다

    난 그냥 사용하여 설치 그래서 나는, 설치 PostgreSQL을하지 않았다

    sudo apt-get install postgresql postgresql-server-dev-9.1
    

    우분투 12.04에.

    이 그것을 해결.

    최신 정보:

    최신 버전을 사용합니다 :

    sudo apt-get install postgresql-9.3 postgresql-server-dev-9.3
    
  7. ==============================

    7.내 경우에는 일, 나는 우분투에게 14.04.2 LTS를 사용

    내 경우에는 일, 나는 우분투에게 14.04.2 LTS를 사용

    그리고 난 사용

  8. ==============================

    8.당신이 Mac에서 Postgres.app를 사용하는 경우, 한 번이 같은 모든이 문제를 해결할 수 있습니다 :

    당신이 Mac에서 Postgres.app를 사용하는 경우, 한 번이 같은 모든이 문제를 해결할 수 있습니다 :

    첫 번째 보석 제거 페이지, 다음 해당 사용자의 ~ / .bash_profile에 또는 ~ / .zshrc 파일이나 편집 및 추가 :

    # PostgreSQL bin path
    export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/9.4/bin
    

    그런 다음 번들 설치하고 보석은 페이지가 모두 일 것으로 예상한다로 설치합니다.

  9. ==============================

    9.

    $ PATH=$PATH:/Library/PostgreSQL/9.1/bin sudo gem install pg
    

    시스템에 설치된 버전 9.1을 대체합니다.

  10. ==============================

    10.에 맥 OS (엘 Capitano). 당신은 간단하게 사용할 수 있습니다 PostgreSQL을 설치 BREW

    에 맥 OS (엘 Capitano). 당신은 간단하게 사용할 수 있습니다 PostgreSQL을 설치 BREW

  11. ==============================

    11.페이지의 보석에 대한 바인딩에 PostgreSQL의 클라이언트 라이브러리가 필요합니다. 이 오류는 일반적으로 그것이 당신의 포스트 그레스 라이브러리를 찾을 수 없음을 의미합니다. 어느 쪽이든 당신은 그들을가 설치되지 않은 또는 보석을 설치하려면 = --with-PG-DIR을 통과해야 할 수도 있습니다.

    페이지의 보석에 대한 바인딩에 PostgreSQL의 클라이언트 라이브러리가 필요합니다. 이 오류는 일반적으로 그것이 당신의 포스트 그레스 라이브러리를 찾을 수 없음을 의미합니다. 어느 쪽이든 당신은 그들을가 설치되지 않은 또는 보석을 설치하려면 = --with-PG-DIR을 통과해야 할 수도 있습니다.

  12. ==============================

    12.Mac 사용자의 경우

    Mac 사용자의 경우

    PATH=$PATH:/Library/PostgreSQL/9.4/bin/ gem install pg
    

    이 트릭을 할해야

  13. ==============================

    13.ARCH 플래그를 사용합니다.

    ARCH 플래그를 사용합니다.

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

    이것은 당신이 발생하는 동일한 문제를 해결.

  14. ==============================

    14.나는 리눅스 민트 (마야) (13)에이 문제를 거라고, 그리고 PostgreSQL을과 PostgreSQL 서버를 설치하여 고정 :

    나는 리눅스 민트 (마야) (13)에이 문제를 거라고, 그리고 PostgreSQL을과 PostgreSQL 서버를 설치하여 고정 :

    apt-get install postgresql-9.1 
    
    sudo apt-get install postgresql-server-dev-9.1
    
  15. ==============================

    15.에 관계없이 실행중인 OS의의 "메이크"의 로그 파일에서보기는 대신에 맹목적으로 설치하는 물건, 무슨 일이 일어나고 있는지 볼 수 있습니다.

    에 관계없이 실행중인 OS의의 "메이크"의 로그 파일에서보기는 대신에 맹목적으로 설치하는 물건, 무슨 일이 일어나고 있는지 볼 수 있습니다.

    내 경우, MAC OS에서 로그 파일은 여기에 있습니다 :

    /Users/za/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/extensions/x86_64-darwin-15/2.3.0-static/pg-1.0.0/mkmf.log
    

    로그는 메이크 파일은 다음 이유로 인해 생성 될 수 없음을 표시 :

    Could not create Makefile due to some reason, probably lack of necessary
    libraries and/or headers
    

    mkmf.log 내부, 당신은 빌드를 완료, 그것은 필요한 라이브러리를 찾을 수 없습니다 것을 볼 수 있습니다.

    checking for pg_config... no
    Can't find the 'libpq-fe.h header
    blah blah
    

    "PostgreSQL을 설치 BREW"실행 한 후, 나는 모든 필요한 라이브러리가되는 것을 볼 수 있습니다 :

    za:myapp za$ cat /Users/za/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/extensions/x86_64-darwin-15/2.3.0-static/pg-1.0.0/mkmf.log | grep yes
    find_executable: checking for pg_config... -------------------- yes
    find_header: checking for libpq-fe.h... -------------------- yes
    find_header: checking for libpq/libpq-fs.h... -------------------- yes
    find_header: checking for pg_config_manual.h... -------------------- yes
    have_library: checking for PQconnectdb() in -lpq... -------------------- yes
    have_func: checking for PQsetSingleRowMode()... -------------------- yes
    have_func: checking for PQconninfo()... -------------------- yes
    have_func: checking for PQsslAttribute()... -------------------- yes
    have_func: checking for PQencryptPasswordConn()... -------------------- yes
    have_const: checking for PG_DIAG_TABLE_NAME in libpq-fe.h... -------------------- yes
    have_header: checking for unistd.h... -------------------- yes
    have_header: checking for inttypes.h... -------------------- yes
    checking for C99 variable length arrays... -------------------- yes
    
  16. ==============================

    16.나는 몇 년 동안 PG이 성가신 문제가 발생했습니다. 나는 도움이 요점을 만들었습니다.

    나는 몇 년 동안 PG이 성가신 문제가 발생했습니다. 나는 도움이 요점을 만들었습니다.

    다음 명령은 항상 나를 위해 작동합니다.

    # Substitute Postgres.app/Contents/Versions/9.5 with appropriate version number
    sudo ARCHFLAGS="-arch x86_64" gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.5/bin/pg_config
    

    요점 : https://gist.github.com/sharnie/5588340cf023fb177c8d

  17. ==============================

    17.나는에 CentOS 5.8에이 작업을 수행했다. 실행 나는 특정 PG 버전을 사용하도록 강요 할 수 있기 때문에 문제를 일으키는 유지 설치를 번들.

    나는에 CentOS 5.8에이 작업을 수행했다. 실행 나는 특정 PG 버전을 사용하도록 강요 할 수 있기 때문에 문제를 일으키는 유지 설치를 번들.

    나도 때문에 의존성 문제되지 냠 삭제 PostgreSQL은 PostgreSQL을-(STABLE)을 (그것은, HTTP 등의 PHP를 제거 할) 수

    해결책? 메스 $ PATH에 일시적으로 대신 기본 하나의 업데이트를 pgsql에 우선권을 부여합니다 :

    export PATH=/usr/pgsql-9.2/bin:$PATH
    bundle install
    

    기본적으로, 위의 명령으로, 그것은 / usr / bin / pg_config의 하나 전에 /usr/pgsql-9.2/bin/pg_config 볼 것이다

  18. ==============================

    18.당신은 루비 대신 JRuby를 사용하는 경우 페이지 보석을 설치할 때 비슷한 문제가됩니다. 대신 어댑터를 설치해야합니다 :

    당신은 루비 대신 JRuby를 사용하는 경우 페이지 보석을 설치할 때 비슷한 문제가됩니다. 대신 어댑터를 설치해야합니다 :

    gem 'activerecord-jdbcpostgresql-adapter'
    
  19. ==============================

    19.맥에 설치 번들 THEN 포스트 그레스를 설치 BREW

    맥에 설치 번들 THEN 포스트 그레스를 설치 BREW

  20. ==============================

    20.당신은 당신의 페이지 버전 지원 Win32 플랫폼은 다음 설치하려면이 명령을 사용하면 보려면 여기로 이동 :

    당신은 당신의 페이지 버전 지원 Win32 플랫폼은 다음 설치하려면이 명령을 사용하면 보려면 여기로 이동 :

    보석 설치 페이지 -v 0.14.1 --platform = 86-mingw32

  21. from https://stackoverflow.com/questions/4827092/unable-to-install-pg-gem by cc-by-sa and MIT license