【问题标题】:installing openssl on OS X在 OS X 上安装 openssl
【发布时间】:2013-08-23 18:28:22
【问题描述】:

我在我的 ruby​​ 应用程序中收到了"certificate verify failed (OpenSSL::SSL::SSLError)",并决定是时候在我的 Mac OS X (Mountain Lion) 系统上更新旧的 openssl。

我从here 获取了最新的资源并照常进行

  • ./配置darwin64-x86_64-cc
  • 制作
  • 进行测试
  • sudo make install

...一切都完成了,没有明显的错误。但我注意到新的 openssl 并没有取代旧的 openssl:

$ which openssl
/usr/bin/openssl
$ /usr/bin/openssl version
OpenSSL 0.9.8x 10 May 2012
$ /usr/local/ssl/bin/openssl version
OpenSSL 1.0.1e 11 Feb 2013

我不敢乱搞重要的系统文件,因为害怕破坏现有的东西。推荐的方法是什么?我正在考虑用 /usr/local/ssl/bin 版本的符号链接替换 ​​/usr/bin/openssl 。这样行吗?

【问题讨论】:

标签: macos openssl osx-mountain-lion


【解决方案1】:

要将本地副本优先于系统副本,您需要将其添加到 shell PATH 变量中

export PATH="/usr/local/ssl/bin:$PATH"

如果您希望每次启动 shell 时都执行此操作,只需将其添加到主目录中的 .bash_profile 即可。

但是,这不会解决您的问题,因为需要针对新的 OpenSSL 重新编译 Ruby(我们假设新的 OpenSSL 附带的更新的根证书文件可以解决此问题)。我建议安装 rvmrbenv 并重建 ruby​​。请注意,这两个工具都希望您通过 homebrew 安装 openssl。

【讨论】:

  • 这对我来说已经足够了。 FWIW,我有自己的构建脚本,将所有 ruby​​ 可执行文件和库放在沙箱中,并且(作为哲学观点)永远不会触及系统文件,也不需要 sudo。我想这是我自己的 rvm 版本。
猜你喜欢
  • 2015-03-01
  • 1970-01-01
  • 2013-09-13
  • 2013-12-21
  • 2010-10-28
  • 2014-12-14
  • 2011-10-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多