hanami icon indicating copy to clipboard operation
hanami copied to clipboard

Cannot run example

Open Ramblurr opened this issue 3 years ago • 2 comments

I'm interested in hanami. I tried to play with the example, but it isn't starting up.

Reproduce (as described in readme):

$ cd hanami/examples/ClientOnly
$ lein repl
[WARNING] No nREPL middleware descriptor in metadata of #'cider.piggieback/wrap-cljs-repl, see nrepl.middleware/set-descriptor!
nREPL server started on port 42029 on host 127.0.0.1 - nrepl://127.0.0.1:42029
ERROR: Unhandled REPL handler exception processing message {:id 3db52c4f-97a4-4b9b-b802-5b4fbeb52b98, :op clone}
java.lang.NullPointerException
	at clojure.core$deref_future.invokeStatic(core.clj:2300)
	at clojure.core$deref.invokeStatic(core.clj:2320)
	at clojure.core$deref.invoke(core.clj:2306)
	at cider.piggieback$wrap_cljs_repl$fn__2945.invoke(piggieback.clj:209)
	at clojure.tools.nrepl.middleware$wrap_conj_descriptor$fn__2583.invoke(middleware.clj:22)
	at nrepl.server$default_handler$fn__1572.invoke(server.clj:130)
	at nrepl.server$handle_STAR_.invokeStatic(server.clj:22)
	at nrepl.server$handle_STAR_.invoke(server.clj:19)
	at nrepl.server$handle$fn__1543.invoke(server.clj:39)
	at clojure.core$binding_conveyor_fn$fn__5754.invoke(core.clj:2030)
	at clojure.lang.AFn.call(AFn.java:18)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:834)

$ lein version
Leiningen 2.9.5 on Java 11.0.10 OpenJDK 64-Bit Server VM

Ramblurr avatar Mar 04 '21 13:03 Ramblurr

There are two points. Currently Java 8 is needed as Java 9+ breaks several dependencies and causes reflection issues. I need to find a space of time to fix all of that so Java 11 can be supported.

The second point has to do with the 'assumed' dev tooling:

The error is a dev dependency/version skew issue. I have this in my ~/.lein/profiles.clj:

:user {:plugins [ ... ^:replace [cider/cider-nrepl "0.17.0"]] :dependencies [[org.clojure/tools.nrepl "0.2.13"] ....]]}

I am guessing this stuff is probably 'out of date' for you. I have a tendency to have this older configuration as upgrading emacs and cider is typically very painful. You would need to change this stuff (and the corresponding things in project.clj) to reflect your setup. Or, for just trying this stuff out, include the above in the project.clj to make things at least run. You won't be able to connect your cider (assuming it is newer) though.

Optionally you can change the project.clj to use your setup. Maybe you do not even use figwheel - many have moved on to shadow-clj and I would like to as well except I am sick of sorting out all the breaking tool changes. The code in the clientex/core.cljs is the only stuff you really need - and should be able to get that to work with any tool/dev setup.

/Jon

jsa-aerial avatar Mar 04 '21 22:03 jsa-aerial

Also, this is a good place for discussions:

https://clojurians.zulipchat.com/#narrow/stream/210075-saite-dev

And for the client only stuff in particular:

https://clojurians.zulipchat.com/#narrow/stream/210075-saite-dev/topic/client.20only

jsa-aerial avatar Mar 04 '21 22:03 jsa-aerial