mac - Ruby on Rails/PostgreSQL-Error de biblioteca no cargada al iniciar server- libq.5.dylib
uninstall ruby mac (2)
Es posible que deba eliminar y volver a instalar la gema pg
, por lo que está compilada con la versión correcta de Postgres.
Tengo una aplicación que ejecuta Ruby 1.9.2, Rails 3 y postgreSQL 8.3. Originalmente se configuró y funcionó con postgreSQL 9.1, pero desinstalé 9.1 e instalé y cambié a 8.3 para asegurar la compatibilidad en una configuración de base de datos compartida de Heroku. Se estaba ejecutando bien, pero no es ahora
Ahora, cuando trabajo en esta aplicación, cuando ejecuto una actualización de la base de datos recibo este error:
dlopen(/Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290/gems/pg-0.12.2/lib/pg_ext.bundle, 9): Library not loaded: libpq.5.dylib
Referenced from: /Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290/gems/pg-0.12.2/lib/pg_ext.bundle
Reason: no suitable image found. Did find:
/usr/lib/libpq.5.dylib: no matching architecture in universal wrapper - /Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290/gems/pg-0.12.2/lib/pg_ext.bundle
Y cuando intento ejecutar el servidor recibo este mensaje de error:
/Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290/gems/pg-0.12.2/lib/pg.rb:4:in `require'': dlopen(/Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290/gems/pg-0.12.2/lib/pg_ext.bundle, 9): Library not loaded: libpq.5.dylib (LoadError)
Referenced from: /Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290/gems/pg-0.12.2/lib/pg_ext.bundle
Reason: no suitable image found. Did find:
/usr/lib/libpq.5.dylib: no matching architecture in universal wrapper - /Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290/gems/pg-0.12.2/lib/pg_ext.bundle
from /Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290/gems/pg-0.12.2/lib/pg.rb:4:in `<top (required)>''
from /Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290@global/gems/bundler-1.0.21/lib/bundler/runtime.rb:68:in `require''
from /Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290@global/gems/bundler-1.0.21/lib/bundler/runtime.rb:68:in `block (2 levels) in require''
from /Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290@global/gems/bundler-1.0.21/lib/bundler/runtime.rb:66:in `each''
from /Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290@global/gems/bundler-1.0.21/lib/bundler/runtime.rb:66:in `block in require''
from /Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290@global/gems/bundler-1.0.21/lib/bundler/runtime.rb:55:in `each''
from /Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290@global/gems/bundler-1.0.21/lib/bundler/runtime.rb:55:in `require''
from /Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290@global/gems/bundler-1.0.21/lib/bundler.rb:122:in `require''
from /Users/michaeljmccoy/www/mikemccoy/config/application.rb:7:in `<top (required)>''
from /Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.2.0.rc2/lib/rails/commands.rb:53:in `require''
from /Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.2.0.rc2/lib/rails/commands.rb:53:in `block in <top (required)>''
from /Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.2.0.rc2/lib/rails/commands.rb:50:in `tap''
from /Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.2.0.rc2/lib/rails/commands.rb:50:in `<top (required)>''
from script/rails:6:in `require''
from script/rails:6:in `<main>''
Sé que son errores muy similares y probablemente tienen que ver con un camino perdido. Sin embargo, cuando agrego la ruta a mi archivo .profile y reinicio la ventana del terminal, obtengo los mismos errores.
Para cualquiera que vea este error y ejecute PostgresApp, este es un problema conocido que se solucionó en la versión 9.2.4.3:
Discusión: https://github.com/PostgresApp/PostgresApp/issues/109
Instalador: https://github.com/PostgresApp/PostgresApp/releases/tag/9.2.4.3
Por supuesto, solo puede tomar la última versión ( http://postgresapp.com/ ). Ambas versiones me permitieron volver a funcionar con Rails 3.2.14 y Ruby 2.0.0. Sin embargo, tenga en cuenta que cuando instalé 9.2.4.3 mis bases de datos aún estaban listadas en psql, pero cuando instalé 9.3.0 (la versión actual en este momento), mis bases de datos ya no estaban listadas.