Leiningen 无法在 OS X Yosemite 上安装依赖项:"InvalidAlgorithmParameterException (trustAnchors parameter must be non-empty)"

Leiningen fails to install dependencies on OS X Yosemite: "InvalidAlgorithmParameterException (trustAnchors parameter must be non-empty)"

我在 Mac 运行 OS X Yosemite (10.10.5) 上安装 Clojure。按照推荐的程序,我首先安装了 Leiningen。第一次 运行 lein deps 时,我遇到了一系列错误,例如:

Could not transfer artifact org.clojure:clojure:pom:1.8.0 from/to central (https://repo1.maven.org/maven2/): java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty

除了 Leiningen、Clojure 和 OS X 之外,与特定软件相关的许多其他 Whosebug 问题中也出现了同样令人费解的错误消息,并且在这些情况下接受的答案似乎与有效的答案大相径庭对我来说(例如 Error - trustAnchors parameter must be non-empty),所以我针对这个特定问题创建了一个新问题,以帮助其他人尝试在 Mac.

上安装 Clojure

问题似乎出在 OS X Yosemite.

附带的 Java 运行时

首先摆脱所有安装的 Java 虚拟 Mac 引擎:

sudo rm -rf /Library/Java/JavaVirtualMachines/*.jdk

然后使用 Mac 包管理器安装可靠的 Java 运行时,Homebrew:

brew update
brew cask install java

在此之后,只需再次输入 lein deps - 它就可以正常工作(或者至少对我来说是这样)。