I started getting errors from when loading repl
Execution error (ClassNotFoundException) at java.net.URLClassLoader/findClass (URLClassLoader.java:377).
sci.impl.types.IReified
Evaluation of file build.clj failed: class clojure.lang.Compiler$CompilerException
I have squint, which apparently pulls in SCI via git dep. And this was apparently this was removed in 0.0.3. But libraries pull in older versions via maven coordinate. So there emerged conflicts in code expectations.
Claude debugging it worked around by explicitly excluding the maven coordinate, to all use the squint version..ai notes:
squint uses its own git sci (io.github.babashka/sci) directly, but also
The maven sci collides with the git sci (IReified vs ICustomType).
org.babashka/sci; squint’s git sci + its org.babashka/sci.impl.types 0.0.3
(ICustomType) must stay.
two sci versions with a renamed interface, IReified→`ICustomType`, separate pullers
yeah pulling in an older version is a problem. always use the newest :)
But some libraries might pull older, so user must be aware to exlude sci from those deps. Is that accurate?
I guess it's a git/sha vs mvn/version problem that clj can't resolve?
this seems to be working for me in deps.edn
;; noj drags maven sci 0.12.51 which collides with squint's git sci.
;; Exclude the maven sci so the project unifies on a single (git) sci, loaded by squint.
org.scicloj/noj {:mvn/version "2-beta24"
:exclusions [org.babashka/sci]}👍 not sure what wins in clj, :mvn/versions of :git/shas.