我在多台机器上安装 Leiningen 从来没有遇到过问题。但在新的 Mac (MacOS 14.3) 上,我无法让
lein repl
工作:
java.io.IOException: Permission denied. Please check your access rights for /Users/hbergier/.lein/repl-port
at leiningen.repl$repl.invokeStatic (repl.clj:458)
leiningen.repl$repl.doInvoke (repl.clj:370)
clojure.lang.RestFn.invoke (RestFn.java:425)
leiningen.repl$repl.invokeStatic (repl.clj:435)
leiningen.repl$repl.invoke (repl.clj:370)
clojure.lang.AFn.applyToHelper (AFn.java:154)
clojure.lang.RestFn.applyTo (RestFn.java:132)
clojure.lang.Var.applyTo (Var.java:705)
clojure.core$apply.invokeStatic (core.clj:669)
clojure.core$apply.invoke (core.clj:662)
leiningen.core.main$partial_task$fn__7430.doInvoke (main.clj:284)
clojure.lang.RestFn.invoke (RestFn.java:410)
clojure.lang.AFn.applyToHelper (AFn.java:154)
clojure.lang.RestFn.applyTo (RestFn.java:132)
clojure.lang.AFunction$1.doInvoke (AFunction.java:31)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invokeStatic (core.clj:669)
clojure.core$apply.invoke (core.clj:662)
leiningen.core.main$apply_task.invokeStatic (main.clj:334)
leiningen.core.main$apply_task.invoke (main.clj:320)
leiningen.core.main$resolve_and_apply.invokeStatic (main.clj:343)
leiningen.core.main$resolve_and_apply.invoke (main.clj:336)
leiningen.core.main$_main$fn__7523.invoke (main.clj:469)
leiningen.core.main$_main.invokeStatic (main.clj:454)
leiningen.core.main$_main.doInvoke (main.clj:451)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.lang.Var.applyTo (Var.java:705)
clojure.core$apply.invokeStatic (core.clj:667)
clojure.main$main_opt.invokeStatic (main.clj:514)
clojure.main$main_opt.invoke (main.clj:510)
clojure.main$main.invokeStatic (main.clj:664)
clojure.main$main.doInvoke (main.clj:616)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.lang.Var.applyTo (Var.java:705)
clojure.main.main (main.java:40)
权限不是问题,所以这篇文章没有帮助:OSX Leiningen 权限错误
问题是 ~/.lein/repl-port 根本不存在——Brew 没有创建这样的目录,而是将所有内容安装在:
/usr/local/Cellar/leiningen/2.11.2/
我在任何地方都找不到类似的问题。谢谢您的帮助。
我通过在主目录的终端中执行以下操作(不确定是否需要每个步骤)解决了这个问题:
brew uninstall leiningen
mkdir .lein
sudo chown -R <username> ~/.lein
brew install leiningen
之后真实的工作正常。它可能有助于创建具有正确权限的 /.lein 文件夹。