-
Notifications
You must be signed in to change notification settings - Fork 86
Closed
Description
I tried to build Clerk notebooks with :ssr true
. It works fine when I also set :package :single-file
, but without this option (or :package :directory
) I always get this error:
clerk-ssr-test % clojure -X:clerk
👷🏼 Clerk is building 1 notebooks…
🧐 Parsing… Done in 16,737ms. ✅
🔬 Analyzing… Done in 72,402ms. ✅
🔨 Building "notebooks/foo.clj"… Done in 13,158ms. ✅
🧱 Server Side Rendering… Exception in thread "main" java.lang.IllegalArgumentException: Multiple methods in multimethod 'simple-dispatch' match dispatch value: class babashka.process.Process -> interface clojure.lang.IPersistentMap and interface clojure.lang.IDeref, and neither is preferred
at clojure.lang.MultiFn.findAndCacheBestMethod(MultiFn.java:179)
at clojure.lang.MultiFn.getMethod(MultiFn.java:150)
at clojure.lang.MultiFn.getFn(MultiFn.java:154)
at clojure.lang.MultiFn.invoke(MultiFn.java:229)
at clojure.pprint$write_out.invokeStatic(pprint_base.clj:194)
at clojure.pprint$pprint_map$fn__11193$fn__11195.invoke(dispatch.clj:113)
at clojure.pprint$pprint_map$fn__11193.invoke(dispatch.clj:113)
at clojure.pprint$pprint_map.invokeStatic(dispatch.clj:112)
at clojure.pprint$pprint_map.invoke(dispatch.clj:106)
at clojure.lang.MultiFn.invoke(MultiFn.java:229)
at clojure.pprint$write_out.invokeStatic(pprint_base.clj:194)
at clojure.pprint$pprint_vector$fn__11178.invoke(dispatch.clj:95)
at clojure.pprint$pprint_vector.invokeStatic(dispatch.clj:94)
at clojure.pprint$pprint_vector.invoke(dispatch.clj:92)
at clojure.lang.MultiFn.invoke(MultiFn.java:229)
at clojure.pprint$write_out.invokeStatic(pprint_base.clj:194)
at clojure.pprint$pprint_map$fn__11193$fn__11195.invoke(dispatch.clj:113)
at clojure.pprint$pprint_map$fn__11193.invoke(dispatch.clj:113)
at clojure.pprint$pprint_map.invokeStatic(dispatch.clj:112)
at clojure.pprint$pprint_map.invoke(dispatch.clj:106)
at clojure.lang.MultiFn.invoke(MultiFn.java:229)
at clojure.pprint$write_out.invokeStatic(pprint_base.clj:194)
at clojure.pprint$pprint_map$fn__11193$fn__11195.invoke(dispatch.clj:113)
at clojure.pprint$pprint_map$fn__11193.invoke(dispatch.clj:113)
at clojure.pprint$pprint_map.invokeStatic(dispatch.clj:112)
at clojure.pprint$pprint_map.invoke(dispatch.clj:106)
at clojure.lang.MultiFn.invoke(MultiFn.java:229)
at clojure.pprint$write_out.invokeStatic(pprint_base.clj:194)
at clojure.pprint$pprint$fn__10434.invoke(pprint_base.clj:249)
at clojure.pprint$pprint.invokeStatic(pprint_base.clj:248)
at clojure.pprint$pprint.invoke(pprint_base.clj:241)
at clojure.pprint$pprint.invokeStatic(pprint_base.clj:245)
at clojure.pprint$pprint.invoke(pprint_base.clj:241)
at clojure.lang.Var.invoke(Var.java:386)
at clojure.main$report_error$fn__9322$fn__9323.invoke(main.clj:604)
at clojure.main$report_error$fn__9322.invoke(main.clj:603)
at clojure.main$report_error.invokeStatic(main.clj:602)
at clojure.main$main.invokeStatic(main.clj:667)
at clojure.main$main.doInvoke(main.clj:617)
at clojure.lang.RestFn.applyTo(RestFn.java:140)
at clojure.lang.Var.applyTo(Var.java:707)
at clojure.main.main(main.java:40)
I tried the most minimal setup in a test project. The deps.edn
looks like this:
{:paths ["notebooks"]
:deps {org.clojure/clojure {:mvn/version "1.12.1"}
io.github.nextjournal/clerk {:mvn/version "0.18.1142"}}
:aliases
{:clerk
{:exec-fn nextjournal.clerk/build!
:exec-args {:paths ["notebooks/foo.clj"]
:ssr true
:package :directory
:out-path "./out"}}}}
notebooks/foo.clj
is just:
(ns foo (:require [nextjournal.clerk :as clerk]))
;; # Hello!
I tested it without :ssr true
, which works regardless of :package :single-file
. The error also happens with Clojure 1.11.1.
Since Babashka is mentioned in babashka.process.Process
, I wonder if it has something to do with it? My bb version is 1.12.206, if that matters.
Metadata
Metadata
Assignees
Labels
No labels