10
votes

Rails - Erreur Postgres: Raison: Incompatible Version de la bibliothèque: libpq.5.dylib nécessite la version 1.0.0 ou ultérieure,

Je suis coincé avec la configuration de Ruby (1.9.3), Rails et Postgres (9.0.8) sur mon Mac (10.6.8). Chaque fois que j'exécute rails console code> i Obtenir l'erreur suivante:

/Users/dc/.rvm/gems/ruby-1.9.3-head@global/gems/pg-0.13.2/lib/pg.rb:4:in `require': dlopen(/Users/dc/.rvm/gems/ruby-1.9.3-head@global/gems/pg-0.13.2/lib/pg_ext.bundle, 9): Library not loaded: @loader_path/../lib/libssl.dylib (LoadError)
  Referenced from: /usr/lib/libpq.5.dylib
  Reason: Incompatible library version: libpq.5.dylib requires version 1.0.0 or later, but libssl.0.9.8.dylib provides version 0.9.8 - /Users/dc/.rvm/gems/ruby-1.9.3-head@global/gems/pg-0.13.2/lib/pg_ext.bundle  
    from /Users/dc/.rvm/gems/ruby-1.9.3-head@global/gems/pg-0.13.2/lib/pg.rb:4:in `<top (required)>'
    from /Users/dc/.rvm/gems/ruby-1.9.3-head@global/gems/bundler-1.1.4/lib/bundler/runtime.rb:68:in `require'
    from /Users/dc/.rvm/gems/ruby-1.9.3-head@global/gems/bundler-1.1.4/lib/bundler/runtime.rb:68:in `block (2 levels) in require'
    from /Users/dc/.rvm/gems/ruby-1.9.3-head@global/gems/bundler-1.1.4/lib/bundler/runtime.rb:66:in `each'
    from /Users/dc/.rvm/gems/ruby-1.9.3-head@global/gems/bundler-1.1.4/lib/bundler/runtime.rb:66:in `block in require'
    from /Users/dc/.rvm/gems/ruby-1.9.3-head@global/gems/bundler-1.1.4/lib/bundler/runtime.rb:55:in `each'
    from /Users/dc/.rvm/gems/ruby-1.9.3-head@global/gems/bundler-1.1.4/lib/bundler/runtime.rb:55:in `require'
    from /Users/dc/.rvm/gems/ruby-1.9.3-head@global/gems/bundler-1.1.4/lib/bundler.rb:119:in `require'
    from /Users/dc/Documents/Aptana Studio 3 Workspace/http/config/application.rb:7:in `<top (required)>'
    from /Users/dc/.rvm/gems/ruby-1.9.3-head@global/gems/railties-3.2.6/lib/rails/commands.rb:39:in `require'
    from /Users/dc/.rvm/gems/ruby-1.9.3-head@global/gems/railties-3.2.6/lib/rails/commands.rb:39:in `<top (required)>'
    from script/rails:6:in `require'
    from script/rails:6:in `<main>'


1 commentaires

Je me débats avec le même problème. Si cela aide ...


5 Réponses :


5
votes

J'ai également couru aussi, mais j'ai pu résoudre ce problème après les instructions sur python PIP Installez l'erreur d'installation Psycopg2 .

Tout d'abord, assurez-vous d'avoir le Version la plus récente d'OpenSSL installé: xxx

... et notez l'OpenSSlldrir. Sur mon système, il est in / opt / local /, car je l'ai installé via Macports. Je dois juste mettre à jour les liens symboliques dans / usr / lib / pour libssl.dylib et libcrypto.dylib de sorte qu'ils ont pointé vers les versions appropriées dans / opt / local / lib au lieu de l'ancienne version en usr / lib: xxx

Vous pouvez créer les liens à l'aide de la commande ln : xxx


1 commentaires

Nice, je l'ai finalement travaillé. J'ai défini les symboles comme décrit et définir la configuration de l'ensemble ...



0
votes

Installez la nouvelle version postgreSQL (j'ai utilisé homebrew) xxx

puis réinstallez la gemme PG: xxx

espère que cela aide.


1 commentaires

Il n'y a pas de "postgre" et Brew Installation postgre ne produira qu'une erreur. Je suppose que vous vouliez dire "Postgres" ou "PostgreSQL"? En outre, l'affiche originale a déclaré avoir déjà essayé une nouvelle version PG.



5
votes

Symlinking Les fichiers ci-dessus ne fonctionnaient pas pour moi. PG examinerait toujours libssl-0.9.8.dylib.

Cette question contient la bonne réponse qu'il semble: GEM Installation PG --With-PG-CONFIG fonctionne, Bundle échoue

Cela se résume à

bundle configuration.pg --with-pg-config = / bibliothèque / postgreSQL / 9.1 / bin / pg_config

(ou quel que soit PG que vous ciblez)

suivi de gem uninstall pg , puis bundle installer


0 commentaires

1
votes

Dans un projet Cette solution ("GEM Install & Uninstall PG") était bien.

mais dans un autre projet, qui utilise les mêmes rails et la même version postgres, je devais être explicite avec la version dans Gemfile pour le faire fonctionner : xxx


0 commentaires

0
votes

a trouvé une solution ici qui a fonctionné pour moi: https://github.com/postgresapp/postgresapp/issues/109


2 commentaires

Pourriez-vous inclure un résumé de la solution? Cela rendra votre réponse plus accessible, plus il conservera toujours la valeur si la page liée disparaît.


export dyld_fallback_library_path = / applications / postgres.app / CONTEN TS / MACOS / LIB: $ DYLD_L IBRARY_PATH fonctionne pour moi