Skip to content
This repository has been archived by the owner on May 10, 2023. It is now read-only.

Can't interact with shadow.cljs because Java cannot find the shadow.cljs.devtools.api/nrepl-select class #308

Open
cbillowes opened this issue Jul 13, 2018 · 8 comments

Comments

@cbillowes
Copy link

I am using Atom 1.28.1 with the Proto-REPL 1.4.24 package installed with the default settings. I am following a Clojure tutorial by Jacek Schae who uses the following command in video 7 of his course.

(shadow.cljs.devtools.api/nrepl-select :app)

In his video the command works and the REPL connects to Shadow.cljs where he can inspect the state of the application. When I use it, I get an exception ClassNotFoundException shadow.cljs.devtools.api java.net.URLClassLoader.findClass (URLClassLoader.java:x).

shadow cljs

openjdk version "1.8.0_171"
OpenJDK Runtime Environment (build 1.8.0_171-8u171-b11-0ubuntu0.18.04.1-b11)
OpenJDK 64-Bit Server VM (build 25.171-b11, mixed mode)

Let me know what else I can share to help.

@jscruggs
Copy link

same issue

@jacekschae
Copy link

Coud you share which version fo shadow-cljs you are using?

@jscruggs
Copy link

"shadow-cljs": {
  "version": "2.8.52",

@jacekschae
Copy link

jacekschae commented Oct 25, 2019

I just run this with the version of shadow-cljs that is in the course 2.3.30 and the newest 2.8.67 and it works withouth a problem. The question is why it doesn't work for you?

Could you try restarting atom - quite the whole process - and connect again?

@jscruggs
Copy link

I turned it all off and on again (exited the 'npm run dev' and shut down Atom(1.40.1)) and I got the same error. I bumped the version of shadow-cljs to 2.8.67, restarted everything and still got the error.
If it helps I pushed up my local changes to the project to https://github.com/jscruggs/learn-reagent-course-files after editing the .gitignore to stop ignoring package-lock.json so you can see exactly what I'm running.
I am using PopOS (a System 76 distro based off of Ubuntu) btw.

@jacekschae
Copy link

Just run your code on my machine and it works

Screen Shot 2019-10-26 at 08 19 47

I assume that when you connect to remote repl you are providing localhost and 3333

Screen Shot 2019-10-26 at 08 21 02

@jscruggs
Copy link

Ah. I finally got it. Because I was working in Linux the key commands you mention in the video didn't apply so I clicked on packages > Proto Repl and picked the closest thing I could find which was either open repl or open repl from project. In retrospect its obvious that I needed to connect to a remote repl (proto-repl:remote-nrepl-connection) but that is only listed in settings > keybindings. Once I chose the correct command and entered the connection info it all worked with no errors.

Thanks so much for your time and effort helping me debug this issue. If I could suggest something, please list the command's name in episode 7 below the video perhaps explaining that just connecting to a repl will not work.

Thanks again. I'm very much enjoying the course.

@jacekschae
Copy link

Great! Very glad to hear that! Just added the note to episode 7!

@cbillowes I hopt this also works for you?

Thanks for your feedback and helping out with resolving this issue. Hope we can close this one and also jacekschae/learn-reagent-course-files#13?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants