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>'
5 Réponses :
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é: p> ... 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: p> Vous pouvez créer les liens à l'aide de la commande ln code>: p>
Nice, je l'ai finalement travaillé. J'ai défini les symboles comme décrit et définir la configuration de l'ensemble ...
Installez la nouvelle version postgreSQL (j'ai utilisé homebrew) puis réinstallez la gemme PG: p> espère que cela aide. p> p>
Il n'y a pas de "postgre" et Brew Installation postgre code> 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.
Symlinking Les fichiers ci-dessus ne fonctionnaient pas pour moi. PG examinerait toujours libssl-0.9.8.dylib. P>
Cette question contient la bonne réponse qu'il semble: GEM Installation PG --With-PG-CONFIG fonctionne, Bundle échoue p>
Cela se résume à p>
(ou quel que soit PG que vous ciblez) p>
suivi de bundle configuration.pg --with-pg-config = / bibliothèque / postgreSQL / 9.1 / bin / pg_config code> p> p>
gem uninstall pg code>, puis
bundle installer code> p> p>
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 : p>
a trouvé une solution ici qui a fonctionné pour moi: https://github.com/postgresapp/postgresapp/issues/109 p>
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 code> fonctionne pour moi
Je me débats avec le même problème. Si cela aide ...