Pergunta

Estou trabalhando em um aplicativo Rails.
Postgresql instalado usando postgresql-9.1.2-1-osx.dmg
Gem pg instalada.
Então, quando eu executei rake db:createrecebendo o seguinte erro -

dlopen (/users/sathishvc/.rvm/gems/ruby-1.9.3-dorn@knome-vivacious/gems/pg-0.12.2/lib/pg_ext.bundle, 9):Biblioteca não carregada:/usr/local/lib/libpq.5.4.dylib

Verificado se /usr/local/lib/libpq.5.4.dylib existe ou não.Isso não.
Então, deveria existir em algum outro lugar do sistema ou não sei, se preciso instalar algum outro software para isso.

Conselho alguém, por favor?

Foi útil?

Solução 3

Algum tempo depois de postar esta pergunta, descobri que libpq.5.4.dylib reside em /Library/PostgreSQL/9.1/lib/.
Então, criei o seguinte link:
lrwxr-xr-x 1 sathishvc admin 43 Jan 28 23:40 /usr/local/lib/libpq.5.4.dylib -> /Library/PostgreSQL/9.1/lib/libpq.5.4.dylib.

Isso resolveu o problema então.

Outras dicas

se você atualizou o PostgreSQL com homebrew (brew update && brew upgrade), simplesmente desinstale a pg gem:

gem uninstall pg
bundle install

e o caminho será corrigido para você.Não há necessidade de desinstalar todo o cluster PostgreSQL.

Eu estava enfrentando esse problema depois de mudar para o PostgresApp e remover a versão existente do PostgreSQL via

brew remove postgres

Finalmente resolvi o problema reinstalando o PostgreSQL via

brew install postgres

Consegui manter o uso do PostgresApp adicionando o seguinte ao meu .bash_profile

export PATH="/Applications/Postgres.app/Contents/MacOS/bin:/usr/local/bin:$PATH"

Você também pode tentar executar:

brew doctor

Como me alertou sobre isso, bem como alguns erros adicionais.

Este erro também estava afetando minha capacidade de usar a gema Paperclip, pois fazia com que o ImageMagick falhasse com o mesmo erro.

(Usando OS X 10.8.2)

No meu caso, desinstalar/reinstalar o gem não ajudou.Mas adicionei o caminho da biblioteca PostgreSQL para $DYLD_LIBRARY_PATH variável de ambiente no meu ~/.bash_profile:

export DYLD_LIBRARY_PATH=/Library/PostgreSQL/9.3/lib:$DYLD_LIBRARY_PATH

Se você também tiver o MySQL instalado, esta linha pode ser semelhante a:

export DYLD_LIBRARY_PATH=/usr/local/mysql/lib:/Library/PostgreSQL/9.3/lib:$DYLD_LIBRARY_PATH

É claro que preste atenção ao número da versão no caminho do PostgreSQL, no momento em que este livro foi escrito era 9.3.Estou usando RVM, Ruby 2.0.0, pg gem 0.17.0, no Mac OS X 10.6.

Tentar brew prune e depois reinstale

esta não é uma resposta direta à pergunta, mas pode surgir com frequência

Dois casos adicionais que podem ser interessantes se você atualizou o PostgreSQL com homebrew:

  1. você procedeu no passado a algumas versões de gemas
  2. seu aplicativo é mais antigo e não pode usar uma versão recente da pg (tenho um aplicativo Rails 2 falhando na pg 0.17 e quase matando o servidor:o mkmr.log aumenta exponencialmente...tente 200GB!)

você pode realmente ter inúmeras versões do pg para confiar

quando você corre

gem uninstall pg

se você tiver mais de uma versão, o sistema perguntará qual versão você deseja excluir.Mas essa lista pode ser útil para você!Como alternativa à resposta de awenkhh, você pode parar por aí e redefinir suas joias para uma versão aceitável

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top