This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2018-10-16
Channels
- # 100-days-of-code (1)
- # announcements (1)
- # beginners (93)
- # boot (46)
- # cider (40)
- # cljdoc (4)
- # cljs-dev (7)
- # clojure (78)
- # clojure-conj (12)
- # clojure-dev (17)
- # clojure-italy (5)
- # clojure-nl (10)
- # clojure-spec (34)
- # clojure-uk (36)
- # clojurescript (56)
- # code-reviews (6)
- # core-async (31)
- # cursive (12)
- # datascript (9)
- # datomic (19)
- # devops (2)
- # editors (3)
- # emacs (6)
- # events (2)
- # figwheel (1)
- # figwheel-main (11)
- # fulcro (59)
- # graphql (10)
- # hyperfiddle (3)
- # keechma (5)
- # leiningen (26)
- # luminus (1)
- # nrepl (5)
- # re-frame (5)
- # reitit (10)
- # shadow-cljs (64)
- # spacemacs (29)
- # tools-deps (6)
- # uncomplicate (8)
- # vim (2)
- # yada (4)
started a new project with shiny cider, boot-cljs-repl versions and can't for the life of me get the repl to connect
I get as far as
<< started Weasel server on >>
<< waiting for client to connect ... Connection is
Writing boot_cljs_repl.cljs...
And i see my cljs being recompiled and reloaded.. but the websocket never connectsThis might be related: https://github.com/clojure-emacs/cider/issues/2403
Cool, yeah I never got to fix that, weird that investing works ... 🤷
I am getting the following error:
java.lang.Exception: No namespace: reply.eval-modes.nrepl found
with
BOOT_CLOJURE_VERSION=1.10.0-beta3
BOOT_VERSION=2.8.2
when running boot repl
Any idea why?I suspect -- based on the lein
issue and repro'ing your error locally -- that this is due to using nrepl
in a context that expects org.clojure/tools.nrepl
@hmaurer
java.lang.Exception: No namespace: reply.eval-modes.nrepl found
REPL-y 0.4.1, nREPL 0.4.4
Shows nrepl "0.4.4"
which is the "new" version of nREPL. Yeah, it's nothing you're doing wrong.Use Boot 2.8.1
BOOT_CLOJURE_VERSION=1.10.0-beta3 BOOT_VERSION=2.8.1 boot repl
...
nREPL server started on port 55602 on host 127.0.0.1 -
REPL-y 0.3.7, nREPL 0.2.13
Clojure 1.10.0-beta3
This uses the older REPL-y and org.clojure/tools.nrepl instead.Boot's changelog shows that 2.8.2 is a breaking change https://github.com/boot-clj/boot/blob/master/CHANGES.md
(breaking behavior on a PATCH LEVEL release seems... inadvisable)
Follow up question: I am (stupidly) struggling a bit to setup a nice repl-driven dev env. I added org.clojure/tools.namespace
to my project and tried to use (refresh)
, but, while it appears to be reloading my app’s namespace, it doesn’t appear to change the value of a var I shoved in there (`app/answer`)
No clue. I've never had much luck with the "reloaded" workflow. But then we have a codebase with some legacy globals (that we're moving away from).
Nope.
I don't.
I almost never need to restart my REPL.
I modify the code and eval the form (into the REPL).
(I also don't type into the REPL -- per Stu Halloway's REPL-driven development talk)
I use Atom/ProtoREPL. Evaluating code is just control-, b
to evaluate a form or control-, B
to evaluate the top-level form.
I can do that without saving the file so it's a very smooth workflow. I have (comment ...)
forms with any additional code I need -- and that's also where I write "experiments" as I work, some of which might become tests later.
The (comment ...)
form will have stop/start calls for my test system component if needed, so I can easily restart my app if I need to -- but mostly I can start it up once (eval'ing (def a (component/start (app/system ...)))
from a comment form) and then just keep eval'ing code into that running image.
@seancorfield do you ever get this when an error occurs? https://puu.sh/BM7f0/f4a8e481ca.png
@seancorfield any idea? 😞
@hmaurer Sorry, was wrapped up in refactoring tests. Yes, that's the "ongoing execution" marker in ProtoREPL. You can clear it with control-shift-c
(it would be nice if it detected exceptions from the REPL and cleared it automatically but...)
BTW, there's a #protorepl channel if you have non-Boot questions about Atom/ProtoREPL.