juxt 2019-05-17

I'm having trouble running an edge repl, I always get this error:

Syntax error (FileNotFoundException) compiling at (dev_extras.clj:1:1).
Could not locate clojure/tools/deps/alpha/repl__init.class, clojure/tools/deps/alpha/repl.clj or clojure/tools/deps/alpha/repl.cljc on classpath.
I notice that edge uses a fork of tools.deps.alpha, so I've checked that i'm not pulling in the clojure version of it from anywhere. I've also tried adding the same dependency:
org.clojure/tools.deps.alpha {:git/url ""
                                                            :sha "a4173975e22e5a41cc3be85270729ed102be3917"
                                                            :exclusions [org.slf4j/slf4j-nop]}
Even with that in there, I still get the same error. Any ideas?

Does this happen from the cli? What if you -Sforce?

no, it doesn't seem to happen from the cli (although i get an unrelated missing class in jetty there)

i'm not sure how i would run -Sforce

i'm using cursive

for some reason the classpath the repl runs with has the wrong version of tools.deps.alpha

any ideas on how to import an edge project into cursive correctly? i always end up with missing deps

the best way i've found is to import the application's deps.edn, and to check the dev, dev/build and build aliases in the clojure deps tool window

I think it's cursive that adds tools.deps.alpha to the classpath

i don't know how to avoid this, is there a way to run edge without using the fork?

ok i've found a workaround in cursive. it seems that cursive adds tools.deps.alpha from the :deps alias, which you can override by adding an empty :deps alias to your deps.edn. You could probably put this in your ~/.clojure/deps.edn to avoid having it in the project, but i haven't tried it.

Sounds like there's a bug report for Colin there

yeah i've posted in #cursive, will see if anything comes back and raise a ticket if not