Question

Je travaille sur une application Rails.
Postgresql installé à l'aide de postgresql-9.1.2-1-osx.dmg
Gemme pg installée.
Puis quand j'ai exécuté rake db:createobtenir l'erreur suivante -

dlopen (/users/sathishvc/.rvm/gems/ruby-1.9.3-head@knome-vivace/gems/pg-0.12.2/lib/pg_ext.bundle, 9):Bibliothèque non chargée :/usr/local/lib/libpq.5.4.dylib

Vérifié si /usr/local/lib/libpq.5.4.dylib existe ou pas.Ce ne est pas.
Donc, il devrait exister ailleurs dans le système ou je ne sais pas si je dois installer un autre logiciel pour cela.

Un conseil à quelqu'un s'il vous plaît ?

Était-ce utile?

La solution 3

Quelque temps après avoir posté cette question, j'ai découvert que libpq.5.4.dylib Réside dans /Library/PostgreSQL/9.1/lib/.
J'ai donc créé le lien suivant :
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.

Cela a alors résolu le problème.

Autres conseils

si vous avez mis à niveau PostgreSQL avec homebrew (brew update && Brew Upgrade), désinstallez simplement la gemme pg :

gem uninstall pg
bundle install

et le chemin sera corrigé pour vous.Pas besoin de désinstaller l'intégralité du cluster PostgreSQL.

J'ai rencontré ce problème après être passé à PostgresApp et supprimé la version PostgreSQL existante via

brew remove postgres

J'ai finalement résolu le problème en réinstallant PostgreSQL via

brew install postgres

J'ai pu conserver l'utilisation de PostgresApp en ajoutant ce qui suit à mon .bash_profile

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

Vous pouvez également essayer d'exécuter :

brew doctor

Comme cela m'a alerté de cela ainsi que de quelques erreurs supplémentaires.

Cette erreur affectait également ma capacité à utiliser la gemme Paperclip car elle provoquait l'échec d'ImageMagick avec la même erreur.

(Sous OS X 10.8.2)

Dans mon cas, la désinstallation/réinstallation de Gem n'a pas aidé.Mais j'ai ajouté le chemin de la bibliothèque PostgreSQL à $DYLD_LIBRARY_PATH variable d'environnement dans mon ~/.bash_profile:

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

Si MySQL est également installé, cette ligne peut ressembler à :

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

Bien sûr, faites attention au numéro de version dans le chemin PostgreSQL, au moment d'écrire ces lignes, il s'agit de 9.3.J'utilise RVM, Ruby 2.0.0, pg gem 0.17.0, sur Mac OS X 10.6.

Essayer brew prune puis réinstallez

ce n'est pas une réponse directe à la question mais peut se poser fréquemment

Deux cas supplémentaires qui pourraient être intéressants si vous avez mis à jour PostgreSQL avec homebrew :

  1. vous avez procédé par le passé à un élagage de versions de gemmes
  2. votre application est plus ancienne et ne peut pas prendre une version récente de pg (j'ai une application Rails 2 qui échoue avec pg 0.17 et qui tue presque le serveur :le mkmr.log augmente de façon exponentielle... essayez 200 Go !)

vous pouvez en fait avoir de nombreuses versions de pg sur lesquelles compter

quand tu cours

gem uninstall pg

si vous disposez de plusieurs versions, le système vous demandera quelle version vous souhaitez supprimer.Mais cette liste pourrait vous être utile !Comme alternative à la réponse d'awenkhh, vous pouvez vous arrêter là et réinitialiser vos gemmes à une version acceptable.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top