FYI since this was written lein-figwheel 0.5.0 (not snapshot) was released which fixes this dependency problem, so specifying cljs manually in :plugins is no longer necessary.
I imagine the figwheel snapshot was somehow either running the compiler in the wrong environment (i.e. the leinigen plugin process instead of the project process), or was rewriting the project process's dependencies incorrectly before running itself in the project context. On Monday, November 16, 2015 at 3:14:46 PM UTC-6, Daniel Compton wrote: > Can someone explain why it's necessary to manually add a dependency on > clojurescript in the :plugins vector? > > > :plugins [[lein-figwheel "0.5.0-SNAPSHOT"] > [org.clojure/clojurescript "1.7.170"]] ;; Overrides broken > lein-figwheel dependency. > > > Shouldn't the version of ClojureScript specified in :dependencies always be > used? > > > On Wed, Nov 11, 2015 at 3:18 AM Andreas Liljeqvist <[email protected]> wrote: > > Works without problem with boot-cljs. > Roughly 20% decrease in compilation time. > > > Great work. > > > On Mon, Nov 9, 2015 at 7:24 PM Francis Avila <[email protected]> wrote: > > > Debug dependency problems with `lein deps :plugin-tree` and `:tree`. These > show you what your actual dependencies are and why. > > Sent from my iPhone > > > On Nov 9, 2015, at 12:15 PM, David Nolen <[email protected]> wrote: > > > > > It appears one of your dependencies is pulling in an older version of Clojure. > > > David > > > On Mon, Nov 9, 2015 at 11:03 AM, David Petrovics <[email protected]> wrote: > Hi Francis, > > > > I tried figwheel 0.5.0-SNAPSHOT, got the (No such var: ana/forms-seq*) > exception, then added [org.clojure/clojurescript "1.7.170"] to the plugins > and am now seeing: > > > > java.io.FileNotFoundException: Could not locate cljs/analyzer__init.class or > cljs/analyzer.clj on classpath: , compiling:(figwheel_sidecar/utils.clj:1:1) > > > > I'm on [lein-cljsbuild "1.1.1"], [org.clojure/clojurescript "1.7.170"], > [org.clojure/clojure "1.7.0"], [org.omcljs/om "0.8.8"], > [lein-figwheel "0.5.0-SNAPSHOT"] > > > > Thanks! > > > > > > On Saturday, November 7, 2015 at 5:44:03 AM UTC-5, Francis Avila wrote: > > > For future travelers. > > > > > > If you use figwheel 0.5.0-SNAPSHOT you will get this exception: > > > > > > > > > clojure.lang.Compiler$CompilerException: java.lang.RuntimeException: No > > such var: ana/forms-seq*, compiling:(figwheel_sidecar/utils.clj:49:21) > > > > > > figwheel 0.5.0-SNAPSHOT has a dependency on cljs 1.7.145 even though it > > needs 1.7.170. > > > > > > To resolve this error you must explicitly depend on clojurescript in your > > plugins. Example: > > > > > > :plugins [[lein-figwheel "0.5.0-SNAPSHOT"] > > > [org.clojure/clojurescript "1.7.170"]] ;; Overrides broken > >lein-figwheel dependency. > > > > > > lein deps :tree shows cljs 1.7.170 is used. > > > > > > So, > > > > > > > > > > > > On Saturday, November 7, 2015 at 3:30:05 AM UTC-6, Maria Geller wrote: > > > > Try using 0.5.0-SNAPSHOT for figwheel ;) > > > > > > > > On Saturday, November 7, 2015 at 9:59:24 PM UTC+13, Francis Avila > > > wrote:I'm getting the following exception with figwheel builds (using > > > 0.4.1): > > > > > > > > > > > > > > > > java.lang.AbstractMethodError: Method > > > clojurescript_build/core/CompilableSourcePaths._find_sources(Ljava/lang/Object;)Ljava/lang/Object; > > > is abstract > > > > > > > > at clojurescript_build.core.CompilableSourcePaths._find_sources > > > (core.clj:-1) > > > > > > > > > > > > > > > > > > > > > > > > (cljsbuild works fine with version 1.1.1) > > > > > > > > > > > > > > > > Nolan said "All the mentioned tools [inc. figwheel] have already > > > accounted for this change." I don't see any mention in the figwheel docs > > > about cljs 1.7.170 compatibility or any commit message that mentions it. > > > Can anyone confirm this is actually true for figwheel? > > > > > > > > > > > > > > > > On Friday, November 6, 2015 at 6:05:19 AM UTC-6, David Nolen wrote: > > > > > > > > > ClojureScript, the Clojure compiler that emits JavaScript source code. > > > > > > > > > > > > > > > > > > > > > > > > > > > README and source code: https://github.com/clojure/clojurescript > > > > > > > > > > > > > > > > > > > > > > > > > > > Leiningen dependency information: > > > > > > > > > > > > > > > > > > > > > > > > > > > [org.clojure/clojurescript "1.7.170"] > > > > > > > > > > > > > > > > > > > > > > > > > > > This release includes a major refactor of the build pipeline thanks to > > > > > > > > > Juho Teperi. This change along with some greatly simplified > > > > > > > > > recompilation logic will mean much faster cold build times for larger > > > > > > > > > projects (some users have already reported >10X). > > > > > > > > > > > > > > > > > > > > > > > > > > > This is a breaking change for existing tooling. You will need to > > > > > > > > > upgrade lein-cljsbuild, lein-figwheel, and boot-cljs if you intend to > > > > > > > > > adopt this version of ClojureScript. All the mentioned tools have > > > > > > > > > already accounted for this change. Refer to the appropriate > > > > > > > > > documentation for your tooling to determine which version number you > > > > > > > > > should adopt. > > > > > > > > > > > > > > > > > > > > > > > > > > > Other interesting changes and fixes include newer Google Closure > > > > > > > > > Compiler and Library dependencies, self hosting tweaks, a Google > > > > > > > > > Closure modules (:modules compiler option) regression, > > > > > > > > > improved warnings, and minor REPL enhancements. > > > > > > > > > > > > > > > > > > > > > > > > > > > As always feedback welcome! > > > > > > > > > > > > > > > > > > > > > > > > > > > ### Enhancements > > > > > > > > > * Refactor build pipeline > > > > > > > > > * CLJS-1478: Self-host: Allow static-fns opt > > > > > > > > > > > > > > > > > > > > > > > > > > > ### Changes > > > > > > > > > * Generate larger range of random UUIDs > > > > > > > > > * make browser REPL file reloads less chatty > > > > > > > > > * CLJS-1475: indicate that cljs.reader/read is safe > > > > > > > > > * CLJS-1470: Bump GCL Dependency > > > > > > > > > * bump Google Closure dep > > > > > > > > > > > > > > > > > > > > > > > > > > > ### Fixes > > > > > > > > > * in system-time check that js/process.hrtime is actually a thing > > > > > > > > > * CLJS-1228: cljs.util/topo-sort is polynomial on larger dependency > > > > graphs > > > > > > > > > * check that performance.now method actually exists > > > > > > > > > * CLJS-1476: Self-host: Protocol prefixing broken for three- (or more) > > > > segment namespaces > > > > > > > > > * CLJS-1472 Patch for CLJS-1467 causes regression for nodejscli > > > > > > > > > * CLJS-1469 :modules regression > > > > > > > > > * CLJS-1445: Syntax error for var args in protocol methods > > > > > > > > > * Warn if protocol impl methods do not match its protocol > > > > > > > > > * CLJS-1451 Protocol impl do not support qualified method names > > > > > > > > > * CLJS-1422: cljs.js/eval-str fails for ns form on node.js with simple > > > > optimizations > > > > > > > > > * CLJS-1423: self-host: Requiring analyzer/compiler breaks unchecked > > > > Boolean > > > > > > > > > * CLJS-1466: Improperly munged output path for GClosure JavaScript > > > > > > > > > * CLJS-1467: Foreign Libraries not included when using :main with > > > > :simple or :advanced > > > > -- > > Note that posts from new members are moderated - please be patient with your > first post. > > --- > > You received this message because you are subscribed to the Google Groups > "ClojureScript" group. > > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > > To post to this group, send email to [email protected]. > > Visit this group at http://groups.google.com/group/clojurescript. > > > > > > > > -- > > Note that posts from new members are moderated - please be patient with your > first post. > > --- > > > > You received this message because you are subscribed to a topic in the Google > Groups "ClojureScript" group. > > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/clojurescript/AiCARjGT2Mg/unsubscribe. > > To unsubscribe from this group and all its topics, send an email to > [email protected]. > > > > To post to this group, send email to [email protected]. > > Visit this group at http://groups.google.com/group/clojurescript. > > > > > > > -- > > Note that posts from new members are moderated - please be patient with your > first post. > > --- > > You received this message because you are subscribed to the Google Groups > "ClojureScript" group. > > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > > To post to this group, send email to [email protected]. > > Visit this group at http://groups.google.com/group/clojurescript. > > > > > > > -- > > Note that posts from new members are moderated - please be patient with your > first post. > > --- > > You received this message because you are subscribed to the Google Groups > "ClojureScript" group. > > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > > To post to this group, send email to [email protected]. > > Visit this group at http://groups.google.com/group/clojurescript. > > > -- > > > Daniel -- Note that posts from new members are moderated - please be patient with your first post. --- You received this message because you are subscribed to the Google Groups "ClojureScript" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/clojurescript.
