weavejester / hashp

A better "prn" for debugging
MIT License
439 stars 23 forks source link

`RuntimeException: No such var: z/insert-right*` in CLJS with shadow-cljs #18

Closed kovasap closed 2 years ago

kovasap commented 2 years ago

My shadow-cljs.edn looks like:

{:source-paths ["src"]
 :dependencies [[hashp "0.2.1"]]

 :builds
 {:test               {:target :node-test
                         :output-to "node-tests.js"
                         :autorun true}
  :app               {:target :node-script
                         :main app.core/main
                         :devtools {:preloads [hashp.core]}
                         :compiler-options {:infer-externs true}
                         :externs ["resources/gas.ext.js"]
                         :output-to "dev-Code.js"}}

And my error is:

File: jar:file:/home/kovas/.m2/repository/hashp/hashp/0.2.1/hashp-0.2.1.jar!/hashp/core.cljs
failed to require macro-ns "hashp.core", it was required by "hashp.core"
Error in phase :compile-syntax-check
RuntimeException: No such var: z/insert-right*
    clojure.lang.Util.runtimeException (Util.java:221)
    clojure.lang.Compiler.resolveIn (Compiler.java:7405)
    clojure.lang.Compiler.resolve (Compiler.java:7375)
    clojure.lang.Compiler.analyzeSymbol (Compiler.java:7336)
    clojure.lang.Compiler.analyze (Compiler.java:6785)
    clojure.lang.Compiler.access$300 (Compiler.java:38)
    clojure.lang.Compiler$DefExpr$Parser.parse (Compiler.java:596)
    clojure.lang.Compiler.analyzeSeq (Compiler.java:7124)
    clojure.lang.Compiler.analyze (Compiler.java:6806)
    clojure.lang.Compiler.analyze (Compiler.java:6762)
    clojure.lang.Compiler.eval (Compiler.java:7198)
    clojure.lang.Compiler.load (Compiler.java:7653)
    clojure.lang.RT.loadResourceScript (RT.java:381)
    clojure.lang.RT.loadResourceScript (RT.java:372)
    clojure.lang.RT.load (RT.java:459)
    clojure.lang.RT.load (RT.java:424)
    clojure.core/load/fn--6908 (core.clj:6161)
    clojure.core/load (core.clj:6160)
    clojure.core/load (core.clj:6144)
    clojure.core/load-one (core.clj:5933)
    clojure.core/load-one (core.clj:5928)
    clojure.core/load-lib/fn--6850 (core.clj:5975)
    clojure.core/load-lib (core.clj:5974)
    clojure.core/load-lib (core.clj:5953)
    clojure.core/apply (core.clj:669)
    clojure.core/load-libs (core.clj:6016)
    clojure.core/load-libs (core.clj:6000)
    clojure.core/apply (core.clj:669)
    clojure.core/require (core.clj:6038)
    clojure.core/require (core.clj:6038)
    zprint.comment/eval20208/loading--6789--auto----20209 (comment.cljc:1)
    zprint.comment/eval20208 (comment.cljc:1)
    zprint.comment/eval20208 (comment.cljc:1)
    clojure.lang.Compiler.eval (Compiler.java:7194)
    clojure.lang.Compiler.eval (Compiler.java:7183)
    clojure.lang.Compiler.load (Compiler.java:7653)
    clojure.lang.RT.loadResourceScript (RT.java:381)
    clojure.lang.RT.loadResourceScript (RT.java:372)
    clojure.lang.RT.load (RT.java:459)
    clojure.lang.RT.load (RT.java:424)
    clojure.core/load/fn--6908 (core.clj:6161)
    clojure.core/load (core.clj:6160)
    clojure.core/load (core.clj:6144)
    clojure.core/load-one (core.clj:5933)
    clojure.core/load-one (core.clj:5928)
    clojure.core/load-lib/fn--6850 (core.clj:5975)
    clojure.core/load-lib (core.clj:5974)
    clojure.core/load-lib (core.clj:5953)
    clojure.core/apply (core.clj:669)
    clojure.core/load-libs (core.clj:6016)
    clojure.core/load-libs (core.clj:6000)
    clojure.core/apply (core.clj:669)
    clojure.core/require (core.clj:6038)
    clojure.core/require (core.clj:6038)
    zprint.zprint/eval20038/loading--6789--auto----20039 (zprint.cljc:1)
    zprint.zprint/eval20038 (zprint.cljc:1)
    zprint.zprint/eval20038 (zprint.cljc:1)
    clojure.lang.Compiler.eval (Compiler.java:7194)
    clojure.lang.Compiler.eval (Compiler.java:7183)
    clojure.lang.Compiler.load (Compiler.java:7653)
    clojure.lang.RT.loadResourceScript (RT.java:381)
    clojure.lang.RT.loadResourceScript (RT.java:372)
    clojure.lang.RT.load (RT.java:459)
    clojure.lang.RT.load (RT.java:424)
    clojure.core/load/fn--6908 (core.clj:6161)
    clojure.core/load (core.clj:6160)
    clojure.core/load (core.clj:6144)
    clojure.core/load-one (core.clj:5933)
    clojure.core/load-one (core.clj:5928)
    clojure.core/load-lib/fn--6850 (core.clj:5975)
    clojure.core/load-lib (core.clj:5974)
    clojure.core/load-lib (core.clj:5953)
    clojure.core/apply (core.clj:669)
    clojure.core/load-libs (core.clj:6016)
    clojure.core/load-libs (core.clj:6000)
    clojure.core/apply (core.clj:669)
    clojure.core/require (core.clj:6038)
    clojure.core/require (core.clj:6038)
    zprint.core/eval20030/loading--6789--auto----20031 (core.cljc:1)
    zprint.core/eval20030 (core.cljc:1)

It seems like the problem is with zprint. Has anyone else run into and resolved this problem before?

weavejester commented 2 years ago

That's a dependency issue, most likely caused by two dependencies requiring different versions of rewrite-clj. You'll want to take a look at your dependency graph (lein deps :tree or clj -Stree).

kovasap commented 2 years ago

Thanks for the intuition! Removing my dependency on [cljfmt "0.5.1"] fixed my problem.