Comments (15)
It needs updating (note), downgrading boot-cljs to 0.0-3269-2 and clojurescript 0.0-3269 works for me.
from boot-cljs-repl.
Unfortunately I still get those errors with those versions :(
from boot-cljs-repl.
Are you using clojure 1.7.0-RC2? It's a dependency of recentish ClojureScript versions now.
from boot-cljs-repl.
Okay, so here is my build.boot
:
(set-env!
:source-paths #{"src"}
:resource-paths #{"resources"}
:dependencies '[[org.clojure/clojure "1.7.0-RC2"]
[org.clojure/clojurescript "0.0-3269"]
[adzerk/boot-cljs "0.0-3269-2"]
[adzerk/boot-cljs-repl "0.1.10-SNAPSHOT"]
[adzerk/boot-reload "0.3.0"]
[pandeiro/boot-http "0.6.2"]
[org.martinklepsch/boot-garden "1.2.5-4"]
[org.omcljs/om "0.8.8"]
[prismatic/om-tools "0.3.10" :exclude [prismatic/schema
prismatic/plumbing]]
[prismatic/schema "0.4.2"]
[prismatic/plumbing "0.4.3"]
[prismatic/dommy "1.0.0"]
[garden "1.2.5"]])
(require
'[adzerk.boot-cljs :refer [cljs]]
'[adzerk.boot-reload :refer [reload]]
'[adzerk.boot-cljs-repl :refer [cljs-repl start-repl]]
'[pandeiro.boot-http :refer [serve]])
When I run boot -- serve -d target/ -k -- watch -- speak -- reload -- cljs -O none
I'm all good, but then I try boot -- serve -d target/ -k -- watch -- speak -- reload -- cljs-repl -- cljs -O none
and I get:
clojure.lang.Compiler$CompilerException: java.io.FileNotFoundException: Could not locate cljs/env__init.class or cljs/env.clj on classpath: , compiling:(cemerick/piggieback.clj:1:1)
java.io.FileNotFoundException: Could not locate cljs/env__init.class or cljs/env.clj on classpath:
Curiously, in the output I see Adding Clojure 1.7.0-RC1 for Cljs compiler
, which seems strange to me given that I've specified RC2. I also nuked my ~/.m2
directory to be sure.
So not sure why I'm getting this. Any ideas would be very much appreciated, and thank you for your help so far.
from boot-cljs-repl.
@kgxsz Try with latest boot-cljs
(0.0-3269-4 or 0.0-3308-0). It doesn't do magic with Clojure versions and should give proper messages if you don't have clojure 1.7 properly set up.
from boot-cljs-repl.
Okay, the only way I can get it working is with the following combination of dependencies:
...
:dependencies '[[org.clojure/clojure "1.7.0-RC2"]
[org.clojure/clojurescript "0.0-3123"]
[adzerk/boot-cljs "0.0-3308-0"]
[adzerk/boot-cljs-repl "0.1.10-SNAPSHOT"]
[adzerk/boot-reload "0.3.0"]
[pandeiro/boot-http "0.6.2"]
[org.martinklepsch/boot-garden "1.2.5-4"]
[org.omcljs/om "0.8.8"]
[prismatic/om-tools "0.3.10" :exclude [prismatic/schema
prismatic/plumbing]]
[prismatic/schema "0.4.2"]
[prismatic/plumbing "0.4.3"]
[prismatic/dommy "1.0.0"]
[garden "1.2.5"]])
...
If I up clojurescript to 3308 then it fails.
Aside from getting the following warnings, it seems to work fine:
WARNING: CLJS version older than boot-cljs: 0.0-3123
temp-dir! was deprecated, please use tmp-dir! instead
tmppath was deprecated, please use tmp-path instead
tmpfile was deprecated, please use tmp-file instead
Any ideas why I can't up the version of clojurescript to 3308 with the latest version of boot-cljs-repl?
Cheers
from boot-cljs-repl.
I got the exact same error for boot-cljs
itself so i guess it not specific to repl. Make sure boot has same version of clojure both for itself i.e. boot.properties and in the project.
from boot-cljs-repl.
The latest version of [adzerk/boot-cljs-repl "0.1.10-SNAPSHOT"]
has been updated to the newest versions of all dependencies and should solve these problems. In your build.boot files you should not need to depend on piggieback, nrepl, or weasel. Please test this version and let us know if it works for you or not.
from boot-cljs-repl.
:dependencies '[[adzerk/boot-cljs "0.0-3308-0" :scope "test"]
[adzerk/boot-cljs-repl "0.1.10-SNAPSHOT" :scope "test"]
[adzerk/boot-reload "0.2.6" :scope "test"]
[pandeiro/boot-http "0.3.0" :scope "test"]
[org.clojure/clojure "1.7.0"]
[org.clojure/clojurescript "0.0-3308"] ])
I've just tried with this set of dependencies, and still have the same error. It seems the error comes from clojurescript itself.
I set the clojurescript
dependency to 3123 according to @kgxsz and it works.
from boot-cljs-repl.
@unrealhoang Can you try using [adzerk/boot-reload "0.3.1" :scope "test"]
and [pandeiro/boot-http "0.6.3-SNAPSHOT" :scope "test"]
?
from boot-cljs-repl.
Thanks for the update @pkobrien and @kul.
Here is what I did:
- Updated my deps to what you can see below.
- Nuked my
~/.m2/repositories
directory because I'm OCD. - Edited my
~/.boot/cache/boot.properties
and made it such thatBOOT_CLOJURE_VERSION=1.7.0-RC2
.
Then ran my build and it worked!
But I now have two gripes associated with this solution:
-
When I run
boot -u
my boot clojure version goes back to 1.6.0 and my build is broken again, am I editing the wrong config file? -
I also get some warnings I've never seen, but I'm guessing are minor:
WARNING: org.clojure/tools.nrepl version null is older than required 0.2.10 Connection is null
@unrealhoang, for reference here are the combinations of deps that work:
(set-env!
:source-paths #{"src"}
:resource-paths #{"resources"}
:dependencies '[[org.clojure/clojure "1.7.0-RC2"]
[org.clojure/clojurescript "0.0-3308"]
[adzerk/boot-cljs "0.0-3308-0"]
[adzerk/boot-cljs-repl "0.1.10-SNAPSHOT"]
[adzerk/boot-reload "0.3.1"]
[pandeiro/boot-http "0.6.3-SNAPSHOT"]
[org.martinklepsch/boot-garden "1.2.5-4"]
[org.omcljs/om "0.8.8"]
[cljsjs/d3 "3.5.5-3"]
[prismatic/om-tools "0.3.10" :exclude [prismatic/schema
prismatic/plumbing]]
[prismatic/schema "0.4.2"]
[prismatic/plumbing "0.4.3"]
[prismatic/dommy "1.0.0"]
[garden "1.2.5"]])
from boot-cljs-repl.
@kgxsz I'm glad it's working for you. Note that Clojure 1.7.0 has been released so you don't need "RC2" anymore, unless you have some reason not to use the full release.
Yes, if you run boot -u
without also specifying an environment variable of BOOT_CLOJURE_VERSION=1.7.0 it will revert to its built-in version, 1.6.0. So you can either put this environment variable in your system, use the env variable on the command-line, or create a local boot.properties file for your project.
The nrepl warning and null connection messages are harmless, but I'd like to see them go away soon.
from boot-cljs-repl.
Brilliant! Thanks for all your help. Very much appreciated.
from boot-cljs-repl.
Thanks @kgxsz @pkobrien for awesome help, I got it working using BOOT_CLOJURE_VERSION=1.7.0.
from boot-cljs-repl.
Excellent! Glad to see that this is working for everyone. 👍
from boot-cljs-repl.
Related Issues (20)
- Stopping the bREPL once and you can't restart it anymore HOT 2
- Start-repl hangs HOT 4
- remote repl HOT 5
- Broken with cljs 1.9.93 HOT 8
- Set port on cljs-repl HOT 2
- Repl-Env HOT 1
- "No such namespace" for ns from foreign-libs libs when eval ns-form at repl HOT 4
- Can't start repl anymore HOT 7
- Help getting connected to a browser repl in cider HOT 2
- How do you connect to an NREPL running in Docker? HOT 1
- cider-load-buffer fails with "Cannot open <nil> as a Reader" HOT 1
- Follow .cljs.edn file conventions
- Starting REPL freezes HOT 7
- Please fix line 197 of boot_cljs_repl.clj HOT 2
- outdated piggieback dependency? HOT 3
- When following the current instructions for vim fireplace HOT 1
- JDK11 java.lang.ClassNotFoundException: javax.xml.bind.DatatypeConverter HOT 1
- evaluating function with REPL doesn't produce JS output
- jsloader GET pprint.js 404, cannot see return in cljs-repl HOT 1
- Takes forever to start up HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from boot-cljs-repl.