Mac OS X - Brew installed Leiningen permission error / wrong directory

45 Views Asked by At

I've never had issue installing Leiningen on multiple machines. But on a new Mac (MacOS 14.3), I can't get lein repl to work:

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)

The permission is not the issue so this post doesn't help: OSX Leiningen permissions error

The issue is that ~/.lein/repl-port doesn't exist at all -- Brew didn't create such directory but installed everything at: /usr/local/Cellar/leiningen/2.11.2/

I've been unable to find a similar issue anywhere. Thank you for your help.

1

There are 1 best solutions below

7
Hugolin Bergier On

I solved it by doing the following (not sure if each step is needed) in the terminal from the home directory:

brew uninstall leiningen

mkdir .lein

sudo chown -R <username> ~/.lein

brew install leiningen

After that the repl worked fine. It probably helped to create the /.lein folder with the right permissions.

Note: this exact error also happened to one of my students (also on Mac OS, also using Homebrew) and the fixed worked for him as well.