This page is not created by, affiliated with, or supported by Slack Technologies, Inc.


I was trying to do lein install of master clojurescript on my machine, it seems to produce .jar and place it into .m2, but when compiling my project, it complains java.lang.IllegalArgumentException: Not a file: jar:file:/Users/darwin/.m2/repository/org/clojure/clojurescript/1.10.339/clojurescript-1.10.339.jar!/cljs/util.cljc


any ideas what went wrong? this used to work on my machine previously, also the produced jar has cljs/util.cljc inside and it is not corrupted, I double checked it with jar cmd line tool


tried lein clean in various places, deleting .m2, running script/bootstrap, and bunch of random things without success


@darwin Usually you use script/build to install into .m2


@mfikes thanks, running script/build prior lein install fixed the issue, it’s been a while since I worked with clojurescript repo and forgot to run this step


Cool. I have no idea what lein install does. (I never do it in the ClojureScript repo.)


(In other words, script/build is sufficient.)


I have to look into it, I used lein install to override jar version, I don’t want to mess with my project.clj in dependent projects when testing out master


and lein checkouts feature does not work well for clojurescript (at least I had troubles making it work)


Ahh, cool. Yeah, I often do the trick of evaluating a CLOJURESCRIPT_VERSION environment variable in project.clj, but now I’ve moved on to using lein-tools-deps or just deps.edn directly. But all of those are invasive changes.


(The nice things about the deps-based approach is you can depend directly on the source tree of master.)


I have to learn those new tools, reusing versions the way I do it is tricky because of possible caching on multiple levels, so then I have to defensively clear all caches and it is not obvious to me how they work, I’m then randomly deleting folders, doing lein clean in various places until I get the expected results :wink:


and there is always a danger that I forget to remove my test installation with “official version” and then I wonder next day


Yeah, deps.edn is awesome at casually overriding deps, right at the command line via -Sdeps