如何在/usr/lib中卸载openssl



安装pg gem后,当我尝试在本地机器上启动服务器时,会出现以下错误:

/Users/foo/.rvm/gems/ree-1.8.7-2011.12/gems/pg-0.14.0/lib/pg_ext.bundle: dlopen(/Users/foo/.rvm/gems/ree-1.8.7-2011.12/gems/pg-0.14.0/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.dylib provides version 0.9.8 - /Users/foo/.rvm/gems/ree-1.8.7-2011.12/gems/pg-0.14.0/lib/pg_ext.bundle

我的机器上通过macports安装了一个最新版本的openssl,但出于某种原因(可能与一个混乱的@loader_path有关?),gem似乎在查看我在/usr/lib中安装的旧版本。

"openssl版本"给了我"openssl 1.0.1c 2012年5月10日"

和"哪个openssl"给了我"/opt/local/bin/openssl",正如我所期望的

非常感谢您的帮助。谢谢

我刚刚在更新到Mountain Lion后遇到了这个问题。在检查我是否有一个合适的OpenSSL版本后,我做了以下操作。

$ ls /Library/PostgreSQL/9.1/lib/libssl*

提供以下内容:

/Library/PostgreSQL/9.1/lib/libssl.1.0.0.dylib
/Library/PostgreSQL/9.1/lib/libssl.dylib
/Library/PostgreSQL/9.1/lib/libssl.a

我复制的文件是这样的:

$ sudo cp /Library/PostgreSQL/9.1/lib/libssl.1.0.0.dylib /usr/lib/

然后链接:

$ cd /usr/lib
$ ln -sf libssl.1.0.0.dylib libssl.dylib

之后,我再次尝试rails s,相同的错误出现在不同的文件中,所以我重复了这个过程(libcrypto):

 requires version 1.0.0 or later, but libcrypto.0.9.8.dylib 
 provides version 0.9.8

所以:

$ sudo cp /Library/PostgreSQL/9.1/lib/libcrypto.1.0.0.dylib /usr/lib/
$ cd /usr/lib
$ ln -sf libcrypto.1.0.0.dylib libcrypto.dylib

请参阅此问题的答案以供参考:python pip安装psycopg2安装错误

最新更新