【问题标题】:How do I uninstall openssl in /usr/lib?如何卸载 /usr/lib 中的 openssl?
【发布时间】:2012-07-28 08:09:03
【问题描述】:

安装 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,但似乎 gem 正在查看我出于某种原因安装在 /usr/lib 中的旧版本(可能与混乱有关@loader_path?)。

“openssl 版本”给了我“OpenSSL 1.0.1c 2012 年 5 月 10 日”

'which openssl' 给了我预期的'/opt/local/bin/openssl'

非常感谢任何帮助。谢谢!

【问题讨论】:

  • 请勿将其从 /usr/lib 中删除。它归操作系统所有,如果找不到它,任何需要它的应用程序都会失败,这会让你后悔删除它。这是libssl 等库文件的标准位置。 MacPorts 安装的版本位于可选位置,因此您必须告诉 Gem 在安装 Pg 文件时在哪里查看。
  • 你试过$ gem update libssl吗?

标签: ruby-on-rails ruby openssl pg


【解决方案1】:

我刚刚更新到 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 install psycopg2 install error

【讨论】:

    猜你喜欢
    • 2020-05-11
    • 2020-03-19
    • 2021-07-21
    • 2011-02-05
    • 2020-11-28
    • 1970-01-01
    • 2020-04-03
    • 2015-02-22
    相关资源
    最近更新 更多