我使用的是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。
答案 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)
https://guide.macports.org/
sudo port install openssl
或sudo port upgrade openssl
openssl version
查看结果。