使用Homebrew在OS X上更新OpenSSL

时间:2013-03-03 12:30:18

标签: macos svn openssl homebrew

我使用的是MacOS X 10.7.5,由于handshake failures,我需要更新的OpenSSL版本。互联网上有几个教程,我尝试了以下内容:

brew install openssl
brew link openssl --force

然而,它不起作用:

openssl version
OpenSSL 0.9.8r 8 Feb 2011

brew unlink openssl && brew link openssl --force
Unlinking /usr/local/Cellar/openssl/1.0.1e... 1139 links removed
Linking /usr/local/Cellar/openssl/1.0.1e... 1139 symlinks created

SVN问题也未解决。有任何想法吗?我宁愿不尝试MacPorts方式,因为它可能会干扰Homebrew。

9 个答案:

答案 0 :(得分:80)

如果你正在使用Homebrew / usr / local / bin 应该已经在$PATH的前面或者至少在 / usr / bin 之前。如果您现在在终端窗口中运行brew link --force openssl,请打开一个新的并在其中运行which openssl。它现在应该在 / usr / local / bin 下显示openssl

答案 1 :(得分:11)

在终端中,运行:

export PATH=/usr/local/bin:$PATH
brew link --force openssl

如果收到警告,您可能必须首先取消关联openssl:brew unlink openssl

这可确保我们为这种情况链接正确的openssl。 (并且不会混淆.profile)

给@Olaf的回答和@Felipe的评论提示。有些人 - 比如我自己 - 可能会有一些相当混乱的PATH变种。

答案 2 :(得分:8)

使用brew在mac上安装了openssl,但在/usr/local/bin上找不到其他brew安装的bin所在的位置。在这里找到我新鲜的openssl:

/usr/local/opt/openssl/bin/openssl

像这样运行:

/usr/local/opt/openssl/bin/openssl version

我不想更新OS X openssl,而某些操作系统内容或其他第三方应用可能依赖于旧版本。

我也不会介意比openssl

更长的路径

此处为所有正在寻找brew安装的openssl位置的Google员工写这篇文章。

答案 3 :(得分:6)

我遇到了这个问题,发现较新的openssl的安装确实有效,但我的PATH设置不正确 - 我的$PATH之前放置了端口路径我的brew路径因此总是找到openssl的旧版本。

我的解决方法是将brew(/ usr / local / bin)的路径放在$PATH的前面。

要查找您从中加载openssl的位置,请运行which openssl并记下输出。它将是您运行openssl时系统使用的版本的位置。它将在“/ usr / local / bin”的brew路径之外的某个位置。更改您的$PATH,关闭该终端标签并打开一个新标签,然后运行which openssl。您现在应该看到不同的路径,可能在/ usr / local / bin下。现在运行openssl version,你会看到你安装的新版本“OpenSSL 1.0.1e 2013年2月11日”。

答案 4 :(得分:5)

要回答有关更新openssl的问题,我按照以下步骤成功将Mac上的版本更新为最新的openssl版本1.0.1e。

我按照此处的步骤进行操作:http://foodpicky.com/?p=99

当您达到终端命令的步骤 make make install 时,请务必使用 sudo make sudo make install < / strong>(我必须逐步完成两次,因为我没有使用sudo而且没有更新)。

希望这有帮助

答案 5 :(得分:3)

在OSX10.11上运行php56的本地服务器上安装一些Wordpress插件时遇到问题。他们通过SSL连接外部API失败。

安装openSSL并没有解决我的问题。但后来我发现CURL也需要重新安装。

这解决了我使用Homebrew的问题。

brew rm curl && brew install curl --with-openssl

brew uninstall php56 && brew install php56 --with-homebrew-curl --with-openssl

答案 6 :(得分:0)

在Mac OS X Yosemite上,通过brew安装后将其放入

  

/ usr / local / opt / openssl / bin / openssl

但是在尝试链接时总是出现错误“仅链接到桶的openssl意味着您可能会针对不安全链接进行链接”

所以我只是通过提供完整路径将其链接起来

ln -s /usr/local/opt/openssl/bin/openssl /usr/local/bin/openssl

现在,当我执行“ openssl version -a”时,它显示的是OpenSSL 1.0.2o版本,我假设它可以正常工作

答案 7 :(得分:0)

试试:

mkdir homebrew && curl -L https://github.com/Homebrew/brew/tarball/master | tar xz --strip 1 -C homebrew

之后尝试:

brew install homebrew/portable-ruby/portable-openssl

答案 8 :(得分:-9)

  1. 安装端口:https://guide.macports.org/
  2. 安装或升级openssl软件包:sudo port install opensslsudo port upgrade openssl
  3. 就是这样,运行openssl version查看结果。