我刚刚在旧的MacBook上更新为opam 2,我无法更新(运行OS X 10.6.8),并且缺少一些与证书验证有关的重要软件包(由于缺少工具,我什至无法更新自酿,因为它需要认证...有点循环问题。
我想在不检查证书的情况下更新opam,否则会出现以下错误:
<><> Updating package repositories ><><><><><><><><><><><><><><><><><><><><> ?
[ERROR] Could not update repository "default":
OpamDownload.Download_fail(_, "Download command failed:
\"/usr/local/bin/wget --content-disposition -t 3 -O
/private/tmp/opam-17621-5a61c5/index.tar.gz.part
https://opam.ocaml.org/1.2.2/index.tar.gz -U opam/2.0.0\"
exited with code 5
\"ERROR: cannot verify opam.ocaml.org's certificate, issued by
'CN=Let\\'s Encrypt Authority X3,O=Let\\'s Encrypt,C=US':\"")
我刚能够从1.2.2升级到opam 2.0.0,但是现在我不能做opam update
。没有它,我无能为力。
是否可以将选项--no-check-certificate
传递给opam使用的wget
命令,而不必自己重新编译?
答案 0 :(得分:1)
改为修复您的wget
。似乎丢失了最近的CA捆绑软件。
首先,检查它在哪里查找捆绑软件-
$ strace wget -O /dev/null https://github.com 2>&1 | grep cert
read(3, "eting an end user certificate as"..., 4096) = 2806
read(5, "eting an end user certificate as"..., 4096) = 2806
openat(AT_FDCWD, "/usr/lib/ssl/cert.pem", O_RDONLY) = -1 ENOENT (No such file or directory)
然后复制Mozilla's .pem bundle以匹配预期的.pem路径。
如果您使用的系统缺少strace
,或者在输出中根本没有提到CA软件包的位置,请尝试创建.wgetrc
,然后添加
ca_certificate = /path/to/your/ca-bundle.pem
另存为$HOME/.wgetrc
。
wget
然后应该能够验证Let's Encrypt证书。
有关http://gnu.org/software/wget/manual/html_node/Wgetrc-Commands.html上.wgetrc
的更多信息