无法在 macOS Catalina (10.15) 上为 Clojure 安装 lein (Leiningen)

cannot install lein (Leiningen) for Clojure on macOS Catalina (10.15)

我一直无法在 macOS 10.15 上安装 Leiningen;我已按照 leiningen.org.

的安装说明进行操作

我得到的错误是

gw@MacBook-Pro bin % sh lein
Error: -classpath requires class path specification

我的类路径是

/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/go/bin:/Users/gw/usr/bin

lein 安装脚本(来自 leiningen.org)在 /Users/gw/usr/bin

问题可能是以前安装 lein 遗留的 dirs/files 吗?

我的 Macbook Pro 相当新(< 1 年)。会不会是我哪里没有需要的软件或包?

我已经在 Internet 和 CLI 上折腾了几个小时,但找不到解决方案。预先感谢您的帮助。

我假设在你上面的问题中,你的意思是 shell 路径而不是类路径,并且你的 PATH 环境变量设置为你在问题中显示的内容。如果您按照说明安装了 lein,则不需要 sh lein。只需 lein 即可。

我假设您已经将 leinleiningen.org 安装到 /Users/gw/usr/bin 并且它是可执行的。

确保新 lein 在您的路径中。看看 which lein 怎么说。它指向新的 lein 吗?如果您通过 brew 安装了不同版本的 lein,它可能在 /usr/local/bin 中,这是您 PATH.

中的第一个

你的 Macbook 上安装了 java 吗?试试 java -version 看看它 returns 你所期望的。

创建一个新的空目录并cd到它。 然后运行lein。如果一切正常,它应该会告诉你用法。

我不知道为什么会这样,但确实如此。我发布这篇文章是因为它可能是阅读这篇文章的人的线索。

解决方案:我删除了我早先创建的“空”目录结构(即lein new foo)并从头开始重新创建它(lein new foo)。一切正常。

我最好的猜测是我在旧版本的 lein 下创建了旧的 foo 目录结构(即,在我重新安装 lein 之前),并且在我重新安装 lein 之后肯定有所不同。您的解释可能会有所不同 ;)

brew install leiningen
lein

里夫。 https://formulae.brew.sh/formula/leiningen#default