我正在尝试使用brew在我的mac上安装wget但是我继续收到以下错误: abmacnb01:wget-1.13 abse08 $ brew install openssl
==> make depend
==> make
==> make test
Last 15 lines from /Users/abse08/Library/Logs/Homebrew/openssl/04.make:
error 20 at 0 depth lookup:unable to get local issuer certificate
../certs/demo/dsa-ca.pem: C = AU, ST = Some-State, O = Internet Widgits Pty Ltd, CN = CA
error 20 at 0 depth lookup:unable to get local issuer certificate
../certs/demo/dsa-pca.pem: C = AU, ST = Some-State, O = Internet Widgits Pty Ltd, CN = PCA
error 18 at 0 depth lookup:self signed certificate
C = AU, ST = Some-State, O = Internet Widgits Pty Ltd, CN = PCA
error 10 at 0 depth lookup:certificate has expired
OK
../certs/demo/pca-cert.pem: C = AU, ST = Queensland, O = CryptSoft Pty Ltd, CN= Test PCA (1024 bit)
error 18 at 0 depth lookup:self signed certificate
C = AU, ST = Queensland, O = CryptSoft Pty Ltd, CN = Test PCA (1024 bit)
error 10 at 0 depth lookup:certificate has expired
OK
make[1]: *** [test_verify] Error 2
make: *** [tests] Error 2
READ THIS: https://git.io/brew-troubleshooting
These open issues may also help:
Erlang linked to wrong OpenSSL on OSX 10.6.8 https://github.com/Homebrew/homebrew/issues/47681
openssl: add 'enable-ssl-trace' option https://github.com/Homebrew/homebrew/pull/45250
abmacnb01:wget-1.13 abse08 $
另外如果我查看/ System / Library / OpenSSL它存在,如果我运行openssl版本-a我得到:
OpenSSL 0.9.8zg 14 July 2015
built on: Jul 31 2015
platform: darwin64-x86_64-llvm
options: bn(64,64) md2(int) rc4(ptr,char) des(idx,cisc,16,int) blowfish(idx)
compiler: -arch x86_64 -fmessage-length=0 -pipe -Wno-trigraphs -fpascal-strings - fasm-blocks -O3 -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DL_ENDIAN -DMD32_REG_T=int - DOPENSSL_NO_IDEA -DOPENSSL_PIC -DOPENSSL_THREADS -DZLIB -mmacosx-version-min=10.6
OPENSSLDIR: "/System/Library/OpenSSL"
abmacnb01:wget-1.13 abse08$
OpenSSL似乎是我希望使用的近乎包的依赖,是否有一种简单的方法来解决这个问题?
答案 0 :(得分:2)
在开始安装之前,请确保您拥有正确的文件夹。目标是在/usr/local
中编译和安装。确保验证此文件夹是否已存在,如果不存在,请不要惊慌。在El Cap上它不存在。
让我们通过在终端中输入以下命令来改变它。以下命令只是创建所需的文件夹:
sudo mkdir -p /usr/local/src
sudo mkdir -p /usr/local/var/log
mkdir -p ~/Library/LaunchAgents
使用El Cap,苹果公司的人们引入了一项称为系统完整性保护的新功能,这只是一种说法,它将系统代码抽象得更进一步构建一个更紧密的系统,我觉得很酷。但这意味着您需要修改/usr/local
的所有权才能安装openSSL。
sudo chown -R $LOGNAME:staff /usr/local
sudo chown $LOGNAME:staff /usr/local
现在您已为安装创建了必要的文件夹文件夹结构。
第1步:获取OpenSSL
cd /usr/local/src
curl --remote-name https://www.openssl.org/source/openssl-1.0.2h.tar.gz
现在我们提取刚刚下载到/usr/local/src
文件夹中的文件,并将目录更改为openssl-1.0.2h:
tar -xzvf openssl-1.0.2h.tar.gz
cd openssl-1.0.2h
第2步:编译&安装
现在你作为计算巫师的能力已经召唤并将OpenSSL的灵魂提取到你的金属机器上,现在你必须使用下面的法术(代码行)来召唤(编译)和调用(安装)这个古老的野兽: / p>
./configure darwin64-x86_64-cc --prefix=/usr/local/openssl-1.0.2h shared
make depend
make
make install
第3步:更新Bash
OpenSSL Deamon已经醒来,现在你必须施放控制它的咒语,否则你的金属机器将会混淆。以下命令更新Bash启动脚本:
echo 'export PATH=/usr/local/openssl/bin:$PATH' >> ~/.bash_profile
echo 'export MANPATH=/usr/local/openssl/ssl/man:$MANPATH' >> ~/.bash_profile
source ~/.bash_profile
第4步:安装证书
事实证明,就像你刚召唤的恶魔一样,在本文世界中需要证书。因此,请使用以下法术为其提供与世界合作的正确证书:
security find-certificate -a -p /Library/Keychains/System.keychain > /usr/local/openssl/ssl/cert.pem
和下面的那个
security find-certificate -a -p /System/Library/Keychains/SystemRootCertificates.keychain >> /usr/local/openssl/ssl/cert.pem
第5步:验证安装
生活很奇怪有时候,尽管我们有最好的意图,但事情并不总是有效。检查一切是否有效:
openssl version -a
感谢阅读,我希望它有所帮助!我也挣扎了一段时间。请试着在解决方案的描述中添加一些颜色,请随意讨厌/喜欢。还请告诉我,如果这对你不起作用,我很想知道。谢谢:))
答案 1 :(得分:0)
更改权限帮助我解决了这个问题:
sudo chmod -R g+w /usr/local