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 <ws://127.0.0.1:53304> >>
<< waiting for client to connect ... Connection is <ws://localhost:53304>
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
weird. changed the order of my pipeline and it magically works now
not happy about it but can get on with work for now
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?nvm found https://github.com/technomancy/leiningen/issues/2465
perhaps it will give me a hint, even if it’s lein
yeah no, I’ve no idea what’s going on :thinking_face:
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
hum; all I did was setup a very basic boot project and run boot repl
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.So should I just ignore this error? Or can I fix it?
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 - <nrepl://127.0.0.1:55602>
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.ah yep, that fixed it
thanks!
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`)
Any pointer?
ps: I don’t want to use CIDER/similar right now
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).
I assume you use CIDER to reload stuff/work with the REPL then?
Nope.
How do you reload things in the repl?
I don't.
How do you iteratively develop / test things then? restarting the repl takes ages
I almost never need to restart my REPL.
Well, how do you modify some code and test that new code in the repl then?
I modify the code and eval the form (into the REPL).
you copy-paste it? :thinking_face:
(I also don't type into the REPL -- per Stu Halloway's REPL-driven development talk)
ah
I use Atom/ProtoREPL. Evaluating code is just control-, b
to evaluate a form or control-, B
to evaluate the top-level form.
Oh, I use atom as well. I’ll try protorepl
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
it seems to stick around
@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
Oh no worries. And thanks! I’ll try that
(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.
💯