ruby-on-rails - mac - ruby rails ubuntu



Ruby on Rails/PostgreSQL-Error de biblioteca no cargada al iniciar server- libq.5.dylib (2)

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/[email protected]/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/[email protected]/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/[email protected]/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.


Answer #1

Es posible que deba eliminar y volver a instalar la gema pg , por lo que está compilada con la versión correcta de Postgres.


Answer #2

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.





postgresql