magomimmo / modern-cljs

A series of tutorials on ClojureScript

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Tutorial 2: Classpath conflict after updating boot clojure version

kranki opened this issue · comments

Classpath conflict: org.clojure/clojure version 1.7.0 already loaded, NOT loading version 1.8.0

I'm running boot on windows 10 (powershell).
Before changing version in boot.properties:
PS C:\Users\kalle.ranki\repos\modern-cljs> boot -V #http://boot-clj.com #Thu Jul 06 22:30:12 EEST 2017 BOOT_CLOJURE_NAME=org.clojure/clojure BOOT_CLOJURE_VERSION=1.7.0 BOOT_VERSION=2.7.1 PS C:\Users\kalle.ranki\repos\modern-cljs>

After changing to 1.8.0
PS C:\Users\kalle.ranki\repos\modern-cljs> boot -V #http://boot-clj.com #Thu Jul 06 22:34:09 EEST 2017 BOOT_CLOJURE_NAME=org.clojure/clojure BOOT_CLOJURE_VERSION=1.7.0 BOOT_VERSION=2.7.1

`PS C:\Users\kalle.ranki\repos\modern-cljs> boot serve -d target watch reload cljs-repl cljs target
Classpath conflict: org.clojure/clojure version 1.7.0 already loaded, NOT loading version 1.8.0
Starting reload server on ws://localhost:49594
Writing boot_cljs_repl.cljs...
2017-07-06 22:15:31.719:INFO::clojure-agent-send-off-pool-0: Logging initialized @7341ms
2017-07-06 22:15:31.768:INFO:oejs.Server:clojure-agent-send-off-pool-0: jetty-9.2.10.v20150310
2017-07-06 22:15:31.787:INFO:oejs.ServerConnector:clojure-agent-send-off-pool-0: Started ServerConnector@73f5458a{HTTP/1
.1}{0.0.0.0:3000}
2017-07-06 22:15:31.787:INFO:oejs.Server:clojure-agent-send-off-pool-0: Started @7410ms
�[1mStarted Jetty on http://localhost:3000
�[m
Starting file watcher (CTRL-C to quit)...

Writing adzerk\boot_reload.cljs to connect to ws://localhost:49594...
java.lang.Thread.run
java.util.concurrent.ThreadPoolExecutor$Worker.run
java.util.concurrent.ThreadPoolExecutor.runWorker
java.util.concurrent.FutureTask.run
...
clojure.core/binding-conveyor-fn/fn core.clj: 1916
boot.core/boot/fn core.clj: 1029
boot.core/run-tasks core.clj: 1019
pandeiro.boot-http/eval322/fn/fn/fn boot_http.clj: 110
boot.task.built-in/fn/fn/fn/fn built_in.clj: 427
boot.task.built-in/fn/fn/fn/fn/fn built_in.clj: 430
boot.task.built-in/fn/fn/fn/fn/fn/fn built_in.clj: 430
adzerk.boot-reload/eval434/fn/fn/fn boot_reload.clj: 161
adzerk.boot-reload/eval434/fn/fn/fn/fn boot_reload.clj: 162
boot.task.built-in/fn/fn/fn/fn built_in.clj: 478
clojure.core/deref core.clj: 2206
...
boot.task.built-in/fn/fn/fn built_in.clj: 475
clojure.core/apply core.clj: 630
...
boot.core/launch-nrepl core.clj: 1309
boot.repl/launch-nrepl repl.clj: 60
boot.repl-server/start-server repl_server.clj: 67
boot.repl-server/->mw-list repl_server.clj: 59
...
clojure.core/mapcat core.clj: 2660
clojure.core/apply core.clj: 630
clojure.core/seq core.clj: 137
...
clojure.core/map/fn core.clj: 2622
boot.repl-server/->mw-list repl_server.clj: 55
boot.repl-server/->var repl_server.clj: 49
...
clojure.core/require core.clj: 5832
clojure.core/apply core.clj: 632
...
clojure.core/load-libs core.clj: 5749
clojure.core/apply core.clj: 632
...
clojure.core/load-lib core.clj: 5710
clojure.core/load-lib/fn core.clj: 5711
clojure.core/load-one core.clj: 5671
...
clojure.core/load core.clj: 5865
clojure.core/load/fn core.clj: 5866
...
cemerick.piggieback/eval1802 piggieback.clj: 1
cemerick.piggieback/eval1802/loading--auto-- piggieback.clj: 1
...
clojure.core/require core.clj: 5832
clojure.core/apply core.clj: 632
...
clojure.core/load-libs core.clj: 5749
clojure.core/apply core.clj: 632
...
clojure.core/load-lib core.clj: 5710
clojure.core/load-lib/fn core.clj: 5711
clojure.core/load-one core.clj: 5671
...
clojure.core/load core.clj: 5865
clojure.core/load/fn core.clj: 5866
...
cljs.repl/eval1808 repl.cljc: 9
cljs.repl/eval1808/loading--auto-- repl.cljc: 9
...
clojure.core/require core.clj: 5832
clojure.core/apply core.clj: 632
...
clojure.core/load-libs core.clj: 5749
clojure.core/apply core.clj: 632
...
clojure.core/load-lib core.clj: 5710
clojure.core/load-lib/fn core.clj: 5711
clojure.core/load-one core.clj: 5671
...
clojure.core/load core.clj: 5865
clojure.core/load/fn core.clj: 5866
...
java.lang.RuntimeException: No such var: string/includes?
clojure.lang.Compiler$CompilerException: java.lang.RuntimeException: No such var: string/includes?, compiling:(cljs/util
.cljc:156:13)
Elapsed time: 1.145 sec

PS C:\Users\kalle.ranki\repos\modern-cljs> ^C`

Solved by deleting global .boot/ directory,
rerunning boot serve -d target watch reload cljs-repl cljs target to recreate global .boot/boot.properties
(default BOOT_CLOJURE_VERSION=1.7.0 gets inserted )
and changing global .boot/boot.properties BOOT_CLOJURE_VERSION=1.8.0

I thing you missed to change the clojure version into the boot.properties file as written in the tutorial 2, just before running boot serve -d target watch reload cljs-repl cljs target.
Your boot.properties file should be as follows

#Thu Mar 09 21:18:39 CET 2017
BOOT_CLOJURE_NAME=org.clojure/clojure
BOOT_CLOJURE_VERSION=1.8.0
BOOT_VERSION=2.7.1