Library not loaded: /usr/local/lib/libpq.5.4.dylib

梦想与她 提交于 2019-12-18 13:53:07

问题


I am working on a rails app.
Installed Postgresql using postgresql-9.1.2-1-osx.dmg
Installed pg gem.
Then when I executed rake db:create getting the following error -

dlopen(/Users/sathishvc/.rvm/gems/ruby-1.9.3-head@knome-vivacious/gems/pg-0.12.2/lib/pg_ext.bundle, 9): Library not loaded: /usr/local/lib/libpq.5.4.dylib

Checked if /usr/local/lib/libpq.5.4.dylib exists or not. It does not.
So, it should be existing somewhere else in the system or I do not know, if I need to install any other piece of software for this.

Advice anyone please?


回答1:


if you have upgraded PostgreSQL with homebrew (brew update && brew upgrade), then simply uninstall the pg gem:

gem uninstall pg
bundle install

and the path will be corrected for you. No need to uninstall the whole PostgreSQL cluster.




回答2:


I was running into this issue after switching over to the PostgresApp and removing the existing PostgreSQL version via

brew remove postgres

I ultimately solved the problem by re-installing PostgreSQL via

brew install postgres

I was able to retain the use of the PostgresApp by adding the following to my .bash_profile

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

You can also try running:

brew doctor

As it alerted me to this as well as some additional errors.

This error was also affecting my ability to use the Paperclip gem as it was causing ImageMagick to fail with the same error.

(Using OS X 10.8.2)




回答3:


Some time after I posted this question, I found that libpq.5.4.dylib resides in /Library/PostgreSQL/9.1/lib/.
So, I created the following link:
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.

This solved the problem then.




回答4:


In my case, uninstalling /reinstalling gem didn't help. But I added the PostgreSQL library path to $DYLD_LIBRARY_PATH environment variable in my ~/.bash_profile:

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

If you also have MySQL installed, this line can look like:

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

Of course pay attention to version number in the PostgreSQL path, at the time of this writing it is 9.3. I'm using RVM, Ruby 2.0.0, pg gem 0.17.0, on Mac OS X 10.6.




回答5:


Try brew prune and then reinstall




回答6:


this is not a direct answer to the question but can arise frequently

Two additional cases that might be of interest if you have upgraded PostgreSQL with homebrew:

  1. you have proceeded in the past to some pruning of gem versions
  2. your application is older and cannot take a recent version of pg (I have a rails 2 app failing with pg 0.17 and nearly killing the server: the mkmr.log increases exponentially ...try 200GB! )

you may actually have numerous versions of pg to rely upon

when you run

gem uninstall pg

if you have more than one version, the system will ask which version you wish to delete. But that list may be useful to you! As an alternative to awenkhh's answer you may stop there and reset your gems to an acceptable version



来源:https://stackoverflow.com/questions/9023482/library-not-loaded-usr-local-lib-libpq-5-4-dylib

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!