alexkehayias / chocolatier

WIP ClojureScript game/engine using Pixi.js for rendering.
Eclipse Public License 1.0
429 stars 29 forks source link

Failure on Step #1 (2nd step) of "With Figwheel" instructions #10

Closed timfenney closed 5 years ago

timfenney commented 6 years ago

Are there are dependencies I may need to install from somewhere else?

I poked around on google for instructions that would put nrepl/cider stuff on the classpath, but I didn't find results related to that.

I am new to clojure and clojurescript, and hence a little over my head here... I have only lein and emacs/spacemacs installed. Other Figwheel lein templates work fine on my machine (Reagent, etc.).

Figwheel: Cutting some fruit, just a sec ...
Figwheel: Validating the configuration found in project.clj
Figwheel: Configuration Valid :)
Figwheel: Starting server at http://0.0.0.0:1223
Figwheel: Watching build - dev
Figwheel: Cleaning build - dev
Compiling "resources/public/js/compiled/chocolatier.js" from ["src/cljs" "test/cljs"]...
WARNING: Use of undeclared Var chocolatier.engine.benchmarks/e1 at line 37 /Users/tfenney/stuff/chocolatier/test/cljs/chocolatier/engine/benchmarks.cljs
Successfully compiled "resources/public/js/compiled/chocolatier.js" in 15.775 seconds.
Figwheel: Starting CSS Watcher for paths  ["resources/public/css"]
Figwheel: Starting nREPL server on port: 8999
Could not locate cider/nrepl__init.class or cider/nrepl.clj on classpath.
java.io.FileNotFoundException: Could not locate cider/nrepl__init.class or cider/nrepl.clj on classpath.
    at clojure.lang.RT.load(RT.java:456)
    at clojure.lang.RT.load(RT.java:419)
    at clojure.core$load$fn__5677.invoke(core.clj:5893)
    at clojure.core$load.invokeStatic(core.clj:5892)
    at clojure.core$load.doInvoke(core.clj:5876)
    at clojure.lang.RestFn.invoke(RestFn.java:408)
    at clojure.core$load_one.invokeStatic(core.clj:5697)
    at clojure.core$load_one.invoke(core.clj:5692)
    at clojure.core$load_lib$fn__5626.invoke(core.clj:5737)
    at clojure.core$load_lib.invokeStatic(core.clj:5736)
    at clojure.core$load_lib.doInvoke(core.clj:5717)
    at clojure.lang.RestFn.applyTo(RestFn.java:142)
    at clojure.core$apply.invokeStatic(core.clj:648)
    at clojure.core$load_libs.invokeStatic(core.clj:5774)
    at clojure.core$load_libs.doInvoke(core.clj:5758)
    at clojure.lang.RestFn.applyTo(RestFn.java:137)
    at clojure.core$apply.invokeStatic(core.clj:648)
    at clojure.core$require.invokeStatic(core.clj:5796)
    at clojure.core$require.doInvoke(core.clj:5796)
    at clojure.lang.RestFn.invoke(RestFn.java:408)
    at figwheel_sidecar.utils$require_QMARK_.invokeStatic(utils.clj:38)
    at figwheel_sidecar.utils$require_QMARK_.invoke(utils.clj:36)
    at figwheel_sidecar.components.nrepl_server$start_nrepl_server$resolve_mw__23415.invoke(nrepl_server.clj:17)
    at clojure.core$map$fn__4785.invoke(core.clj:2644)
    at clojure.lang.LazySeq.sval(LazySeq.java:40)
    at clojure.lang.LazySeq.seq(LazySeq.java:49)
    at clojure.lang.RT.seq(RT.java:521)
    at clojure.core$seq__4357.invokeStatic(core.clj:137)
    at clojure.core$apply.invokeStatic(core.clj:641)
    at clojure.core$mapcat.invokeStatic(core.clj:2674)
    at clojure.core$mapcat.doInvoke(core.clj:2674)
    at clojure.lang.RestFn.invoke(RestFn.java:423)
    at figwheel_sidecar.components.nrepl_server$start_nrepl_server.invokeStatic(nrepl_server.clj:25)
    at figwheel_sidecar.components.nrepl_server$start_nrepl_server.invoke(nrepl_server.clj:7)
    at figwheel_sidecar.components.nrepl_server.NreplComponent.start(nrepl_server.clj:37)
    at com.stuartsierra.component$eval22659$fn__22660$G__22649__22662.invoke(component.cljc:5)
    at com.stuartsierra.component$eval22659$fn__22660$G__22648__22665.invoke(component.cljc:5)
    at clojure.lang.Var.invoke(Var.java:379)
    at clojure.lang.AFn.applyToHelper(AFn.java:154)
    at clojure.lang.Var.applyTo(Var.java:700)
    at clojure.core$apply.invokeStatic(core.clj:648)
    at clojure.core$apply.invoke(core.clj:641)
    at com.stuartsierra.component$try_action.invokeStatic(component.cljc:117)
    at com.stuartsierra.component$try_action.invoke(component.cljc:116)
    at com.stuartsierra.component$update_system$fn__22718.invoke(component.cljc:139)
    at clojure.lang.ArraySeq.reduce(ArraySeq.java:114)
    at clojure.core$reduce.invokeStatic(core.clj:6544)
    at clojure.core$reduce.invoke(core.clj:6527)
    at com.stuartsierra.component$update_system.invokeStatic(component.cljc:135)
    at com.stuartsierra.component$update_system.doInvoke(component.cljc:129)
    at clojure.lang.RestFn.invoke(RestFn.java:445)
    at com.stuartsierra.component$start_system.invokeStatic(component.cljc:163)
    at com.stuartsierra.component$start_system.invoke(component.cljc:155)
    at com.stuartsierra.component$start_system.invokeStatic(component.cljc:161)
    at com.stuartsierra.component$start_system.invoke(component.cljc:155)
    at com.stuartsierra.component.SystemMap.start(component.cljc:178)
    at figwheel_sidecar.system$start_figwheel_system$fn__24460.invoke(system.clj:656)
    at figwheel_sidecar.system$dispatch_system_component_errors.invokeStatic(system.clj:642)
    at figwheel_sidecar.system$dispatch_system_component_errors.invoke(system.clj:640)
    at figwheel_sidecar.system$start_figwheel_system.invokeStatic(system.clj:656)
    at figwheel_sidecar.system$start_figwheel_system.invoke(system.clj:654)
    at figwheel_sidecar.system$start_figwheel_BANG__STAR_.invokeStatic(system.clj:691)
    at figwheel_sidecar.system$start_figwheel_BANG__STAR_.invoke(system.clj:677)
    at clojure.lang.AFn.applyToHelper(AFn.java:156)
    at clojure.lang.AFn.applyTo(AFn.java:144)
    at clojure.core$apply.invokeStatic(core.clj:646)
    at clojure.core$apply.invoke(core.clj:641)
    at figwheel_sidecar.system$start_figwheel_BANG_.invokeStatic(system.clj:735)
    at figwheel_sidecar.system$start_figwheel_BANG_.doInvoke(system.clj:693)
    at clojure.lang.RestFn.invoke(RestFn.java:408)
    at figwheel_sidecar.repl_api$start_figwheel_from_lein.invokeStatic(repl_api.clj:150)
    at figwheel_sidecar.repl_api$start_figwheel_from_lein.invoke(repl_api.clj:146)
    at figwheel_sidecar.repl_api$launch_from_lein.invokeStatic(repl_api.clj:192)
    at figwheel_sidecar.repl_api$launch_from_lein.invoke(repl_api.clj:189)
    at user$eval24523.invokeStatic(form-init2319528866261437468.clj:1)
    at user$eval24523.invoke(form-init2319528866261437468.clj:1)
    at clojure.lang.Compiler.eval(Compiler.java:6927)
    at clojure.lang.Compiler.eval(Compiler.java:6917)
    at clojure.lang.Compiler.load(Compiler.java:7379)
    at clojure.lang.Compiler.loadFile(Compiler.java:7317)
    at clojure.main$load_script.invokeStatic(main.clj:275)
    at clojure.main$init_opt.invokeStatic(main.clj:277)
    at clojure.main$init_opt.invoke(main.clj:277)
    at clojure.main$initialize.invokeStatic(main.clj:308)
    at clojure.main$null_opt.invokeStatic(main.clj:342)
    at clojure.main$null_opt.invoke(main.clj:339)
    at clojure.main$main.invokeStatic(main.clj:421)
    at clojure.main$main.doInvoke(main.clj:384)
    at clojure.lang.RestFn.invoke(RestFn.java:421)
    at clojure.lang.Var.invoke(Var.java:383)
    at clojure.lang.AFn.applyToHelper(AFn.java:156)
    at clojure.lang.Var.applyTo(Var.java:700)
    at clojure.main.main(main.java:37)
WARNING: unable to load "cider.nrepl/cider-middleware" middleware
java.io.FileNotFoundException: Could not locate cider/nrepl/middleware/util/misc__init.class or cider/nrepl/middleware/util/misc.clj on classpath., compiling:(refactor_nrepl/middleware.clj:1:1)
java.io.FileNotFoundException: Could not locate cider/nrepl/middleware/util/misc__init.class or cider/nrepl/middleware/util/misc.clj on classpath., compiling:(refactor_nrepl/middleware.clj:1:1)
    at clojure.lang.Compiler.load(Compiler.java:7391)
    at clojure.lang.RT.loadResourceScript(RT.java:372)
    at clojure.lang.RT.loadResourceScript(RT.java:363)
    at clojure.lang.RT.load(RT.java:453)
    at clojure.lang.RT.load(RT.java:419)
    at clojure.core$load$fn__5677.invoke(core.clj:5893)
    at clojure.core$load.invokeStatic(core.clj:5892)
    at clojure.core$load.doInvoke(core.clj:5876)
    at clojure.lang.RestFn.invoke(RestFn.java:408)
    at clojure.core$load_one.invokeStatic(core.clj:5697)
    at clojure.core$load_one.invoke(core.clj:5692)
    at clojure.core$load_lib$fn__5626.invoke(core.clj:5737)
    at clojure.core$load_lib.invokeStatic(core.clj:5736)
    at clojure.core$load_lib.doInvoke(core.clj:5717)
    at clojure.lang.RestFn.applyTo(RestFn.java:142)
    at clojure.core$apply.invokeStatic(core.clj:648)
    at clojure.core$load_libs.invokeStatic(core.clj:5774)
    at clojure.core$load_libs.doInvoke(core.clj:5758)
    at clojure.lang.RestFn.applyTo(RestFn.java:137)
    at clojure.core$apply.invokeStatic(core.clj:648)
    at clojure.core$require.invokeStatic(core.clj:5796)
    at clojure.core$require.doInvoke(core.clj:5796)
    at clojure.lang.RestFn.invoke(RestFn.java:408)
    at figwheel_sidecar.utils$require_QMARK_.invokeStatic(utils.clj:38)
    at figwheel_sidecar.utils$require_QMARK_.invoke(utils.clj:36)
    at figwheel_sidecar.components.nrepl_server$start_nrepl_server$resolve_mw__23415.invoke(nrepl_server.clj:17)
    at clojure.core$map$fn__4785.invoke(core.clj:2644)
    at clojure.lang.LazySeq.sval(LazySeq.java:40)
    at clojure.lang.LazySeq.seq(LazySeq.java:49)
    at clojure.lang.RT.seq(RT.java:521)
    at clojure.core$seq__4357.invokeStatic(core.clj:137)
    at clojure.core$apply.invokeStatic(core.clj:641)
    at clojure.core$mapcat.invokeStatic(core.clj:2674)
    at clojure.core$mapcat.doInvoke(core.clj:2674)
    at clojure.lang.RestFn.invoke(RestFn.java:423)
    at figwheel_sidecar.components.nrepl_server$start_nrepl_server.invokeStatic(nrepl_server.clj:25)
    at figwheel_sidecar.components.nrepl_server$start_nrepl_server.invoke(nrepl_server.clj:7)
    at figwheel_sidecar.components.nrepl_server.NreplComponent.start(nrepl_server.clj:37)
    at com.stuartsierra.component$eval22659$fn__22660$G__22649__22662.invoke(component.cljc:5)
    at com.stuartsierra.component$eval22659$fn__22660$G__22648__22665.invoke(component.cljc:5)
    at clojure.lang.Var.invoke(Var.java:379)
    at clojure.lang.AFn.applyToHelper(AFn.java:154)
    at clojure.lang.Var.applyTo(Var.java:700)
    at clojure.core$apply.invokeStatic(core.clj:648)
    at clojure.core$apply.invoke(core.clj:641)
    at com.stuartsierra.component$try_action.invokeStatic(component.cljc:117)
    at com.stuartsierra.component$try_action.invoke(component.cljc:116)
    at com.stuartsierra.component$update_system$fn__22718.invoke(component.cljc:139)
    at clojure.lang.ArraySeq.reduce(ArraySeq.java:114)
    at clojure.core$reduce.invokeStatic(core.clj:6544)
    at clojure.core$reduce.invoke(core.clj:6527)
    at com.stuartsierra.component$update_system.invokeStatic(component.cljc:135)
    at com.stuartsierra.component$update_system.doInvoke(component.cljc:129)
    at clojure.lang.RestFn.invoke(RestFn.java:445)
    at com.stuartsierra.component$start_system.invokeStatic(component.cljc:163)
    at com.stuartsierra.component$start_system.invoke(component.cljc:155)
    at com.stuartsierra.component$start_system.invokeStatic(component.cljc:161)
    at com.stuartsierra.component$start_system.invoke(component.cljc:155)
    at com.stuartsierra.component.SystemMap.start(component.cljc:178)
    at figwheel_sidecar.system$start_figwheel_system$fn__24460.invoke(system.clj:656)
    at figwheel_sidecar.system$dispatch_system_component_errors.invokeStatic(system.clj:642)
    at figwheel_sidecar.system$dispatch_system_component_errors.invoke(system.clj:640)
    at figwheel_sidecar.system$start_figwheel_system.invokeStatic(system.clj:656)
    at figwheel_sidecar.system$start_figwheel_system.invoke(system.clj:654)
    at figwheel_sidecar.system$start_figwheel_BANG__STAR_.invokeStatic(system.clj:691)
    at figwheel_sidecar.system$start_figwheel_BANG__STAR_.invoke(system.clj:677)
    at clojure.lang.AFn.applyToHelper(AFn.java:156)
    at clojure.lang.AFn.applyTo(AFn.java:144)
    at clojure.core$apply.invokeStatic(core.clj:646)
    at clojure.core$apply.invoke(core.clj:641)
    at figwheel_sidecar.system$start_figwheel_BANG_.invokeStatic(system.clj:735)
    at figwheel_sidecar.system$start_figwheel_BANG_.doInvoke(system.clj:693)
    at clojure.lang.RestFn.invoke(RestFn.java:408)
    at figwheel_sidecar.repl_api$start_figwheel_from_lein.invokeStatic(repl_api.clj:150)
    at figwheel_sidecar.repl_api$start_figwheel_from_lein.invoke(repl_api.clj:146)
    at figwheel_sidecar.repl_api$launch_from_lein.invokeStatic(repl_api.clj:192)
    at figwheel_sidecar.repl_api$launch_from_lein.invoke(repl_api.clj:189)
    at user$eval24523.invokeStatic(form-init2319528866261437468.clj:1)
    at user$eval24523.invoke(form-init2319528866261437468.clj:1)
    at clojure.lang.Compiler.eval(Compiler.java:6927)
    at clojure.lang.Compiler.eval(Compiler.java:6917)
    at clojure.lang.Compiler.load(Compiler.java:7379)
    at clojure.lang.Compiler.loadFile(Compiler.java:7317)
    at clojure.main$load_script.invokeStatic(main.clj:275)
    at clojure.main$init_opt.invokeStatic(main.clj:277)
    at clojure.main$init_opt.invoke(main.clj:277)
    at clojure.main$initialize.invokeStatic(main.clj:308)
    at clojure.main$null_opt.invokeStatic(main.clj:342)
    at clojure.main$null_opt.invoke(main.clj:339)
    at clojure.main$main.invokeStatic(main.clj:421)
    at clojure.main$main.doInvoke(main.clj:384)
    at clojure.lang.RestFn.invoke(RestFn.java:421)
    at clojure.lang.Var.invoke(Var.java:383)
    at clojure.lang.AFn.applyToHelper(AFn.java:156)
    at clojure.lang.Var.applyTo(Var.java:700)
    at clojure.main.main(main.java:37)
Caused by: java.io.FileNotFoundException: Could not locate cider/nrepl/middleware/util/misc__init.class or cider/nrepl/middleware/util/misc.clj on classpath.
    at clojure.lang.RT.load(RT.java:456)
    at clojure.lang.RT.load(RT.java:419)
    at clojure.core$load$fn__5677.invoke(core.clj:5893)
    at clojure.core$load.invokeStatic(core.clj:5892)
    at clojure.core$load.doInvoke(core.clj:5876)
    at clojure.lang.RestFn.invoke(RestFn.java:408)
    at clojure.core$load_one.invokeStatic(core.clj:5697)
    at clojure.core$load_one.invoke(core.clj:5692)
    at clojure.core$load_lib$fn__5626.invoke(core.clj:5737)
    at clojure.core$load_lib.invokeStatic(core.clj:5736)
    at clojure.core$load_lib.doInvoke(core.clj:5717)
    at clojure.lang.RestFn.applyTo(RestFn.java:142)
    at clojure.core$apply.invokeStatic(core.clj:648)
    at clojure.core$load_libs.invokeStatic(core.clj:5774)
    at clojure.core$load_libs.doInvoke(core.clj:5758)
    at clojure.lang.RestFn.applyTo(RestFn.java:137)
    at clojure.core$apply.invokeStatic(core.clj:648)
    at clojure.core$require.invokeStatic(core.clj:5796)
    at clojure.core$require.doInvoke(core.clj:5796)
    at clojure.lang.RestFn.invoke(RestFn.java:457)
    at refactor_nrepl.middleware$eval41152$loading__5569__auto____41153.invoke(middleware.clj:1)
    at refactor_nrepl.middleware$eval41152.invokeStatic(middleware.clj:1)
    at refactor_nrepl.middleware$eval41152.invoke(middleware.clj:1)
    at clojure.lang.Compiler.eval(Compiler.java:6927)
    at clojure.lang.Compiler.eval(Compiler.java:6916)
    at clojure.lang.Compiler.load(Compiler.java:7379)
    ... 95 more
WARNING: unable to load "refactor-nrepl.middleware/wrap-refactor" middleware
Launching ClojureScript REPL for build: dev
Figwheel Controls:
          (stop-autobuild)                ;; stops Figwheel autobuilder
          (start-autobuild [id ...])      ;; starts autobuilder focused on optional ids
          (switch-to-build id ...)        ;; switches autobuilder to different build
          (reset-autobuild)               ;; stops, cleans, and starts autobuilder
          (reload-config)                 ;; reloads build config and resets autobuild
          (build-once [id ...])           ;; builds source one time
          (clean-builds [id ..])          ;; deletes compiled cljs target files
          (print-config [id ...])         ;; prints out build configurations
          (fig-status)                    ;; displays current state of system
  Switch REPL build focus:
          :cljs/quit                      ;; allows you to switch REPL to another build
    Docs: (doc function-name-here)
    Exit: Control+C or :cljs/quit
 Results: Stored in vars *1, *2, *3, *e holds last exception object
Prompt will show when Figwheel connects to your application
qeshi commented 6 years ago

I got the same problem. I bumped some dependencies so now I don't get this error anymore. ` (defproject chocolatier "0.1.0-SNAPSHOT" :description "Chocolatier prototype" :source-paths ["src/clj" "src/cljs"] :test-paths ["test/clj" "test/cljs"] :dependencies [[org.clojure/clojure "1.8.0"]

             ;; Web server
             [ring "1.2.0"]
             [compojure "1.1.5"]
             [enlive "1.1.1"]

             ;; cljs
             [org.clojure/clojurescript "1.9.293"]
             ;; DOM manipulation
             [prismatic/dommy "1.1.0"
              :exclude [org.clojure/clojurescript]]

             [org.clojure/core.async "0.1.346.0-17112a-alpha"
              :exclude [org.clojure/clojurescript]]

             ;; Devcards
             [devcards "0.2.2"]

             ;; State inspection
             [praline "0.1.0-SNAPSHOT"]]

:plugins [[lein-cljsbuild "1.1.7" :exclude [org.clojure/clojurescript]] [lein-figwheel "0.5.14" :exclude [org.clojure/clojurescript]] [refactor-nrepl "2.3.1"] [cider/cider-nrepl "0.14.0"] ]

:profiles {:dev {:dependencies [[com.cemerick/piggieback "0.2.2" :exclude [org.clojure/clojurescript]] [org.clojure/tools.nrepl "0.2.10"]] :repl-options {:nrepl-middleware [cemerick.piggieback/wrap-cljs-repl]}}}

:clean-targets ^{:protect false} ["resources/public/js/compiled" "target"]

:cljsbuild {:builds [{:id "dev" :source-paths ["src/cljs" "test/cljs"] :figwheel {:devcards true :autoload true :load-warninged-code true :heads-up-display true :on-jsload "chocolatier.examples.action-rpg.core/on-js-reload"} :compiler {:main "chocolatier.devcards" :asset-path "/js/compiled/out" :output-to "resources/public/js/compiled/chocolatier.js" :output-dir "resources/public/js/compiled/out" :source-map-timestamp true :pretty-print true}} {:id "min" :source-paths ["src/cljs"] :compiler {:main "chocolatier.examples.action-rpg.core" :output-to "resources/public/js/compiled/chocolatier-min.js" :externs ["resources/public/js/externs/pixi.js" "resources/public/js/externs/howler.js" "resources/public/js/externs/stats.js" "resources/public/js/externs/rbush.js"] ;; Remove runtime assertions :elide-asserts true :optimizations :advanced :parallel-build true :verbose true ;; Optimize nested function calls :static-fns true}}]}

:figwheel {:http-server-root "public" ;; default and assumes "resources" :server-port 1223 ;; default :css-dirs ["resources/public/css"] ;; watch and update CSS

         ;; Start an nREPL server into the running figwheel process
         :nrepl-port 8999
         ;; Need this now to get nrepl to work
         :nrepl-middleware ["cider.nrepl/cider-middleware"
                            "refactor-nrepl.middleware/wrap-refactor"
                            "cemerick.piggieback/wrap-cljs-repl"]

         ;; Server Ring Handler (optional)
         ;; if you want to embed a ring handler into the figwheel http-kit
         ;; server, this is for simple ring servers, if this
         ;; doesn't work for you just run your own server :)
         :ring-handler chocolatier.server/app

         ;; To be able to open files in your editor from the heads up display
         ;; you will need to put a script on your path.
         ;; that script will have to take a file path and a line number
         ;; ie. in  ~/bin/myfile-opener
         ;; #! /bin/sh
         ;; emacsclient -n +$2 $1
         ;;
         ;; :open-file-command "myfile-opener"

         ;; if you want to disable the REPL
         ;; :repl false

         ;; to configure a different figwheel logfile path
         ;; :server-logfile "tmp/logs/figwheel-logfile.log"
         }

) `

alexkehayias commented 5 years ago

Necro-post! I've updated the deps to get this project working with the latest cider/nrepl/figwheel tooling. Works for me via lein figwheel or by starting a figwheel from within an nrepl (via M-x cider-jack-in). I've updated the readme a bit on where to find the latest instructions since the tooling changes/breaks frequently.