On Thursday, 5 January 2017 14:38:51 UTC, Daniel Skarda wrote: > Hi Mike, > have you succeeded to run remote REPL without modifications? > > It is a while I wrote the tutorial. However today I was able to run REPL to > debian running inside VirtualBox from Emacs or Cursive with help of > piggieback. > > I see potential issue in your code. :output-dir should be absolute and same > on both machines (dev and remote). > > The reason for same absolute directory (and synchronization) is > implementation of JS environment in CLJS. CLJS compiler spits out .js files. > JS Environment (browser, node) requests these environment using http > (browser) or by reading local files (node). In case of local files REPL > instructs js environment where to get these files. > > In case of remote js environment (nodejs is executed on remote machine) we > trick repl and node to think they run both on same machine and can "exchange" > files in shared directory. > > I agree it is dirty hack:) The correct solution would be to make a way how > nodejs can request compiled files from repl (in similar way browser requests > files from web server running from repl). Unfortunately at this moment I do > not have time to shave this yak. > > To help you to run REPL: > > 1) Check you have correct dir names for shared directory and they are > absolute, eg > > :output-dir "/tmp/cljs-share-repl" > > see wiki page. I made few correction of directory names today. > > 2) Check /tmp/cljs-share-repl synchronization works > > - does cljs repl create compiled files inside /tmp/cljs-repl-share/out? > - are these files visible from remote machine? > > 2) If it does not work, please provide me some info about your configuration: > > - which versions of CLJ, CLJS, Lein, piggieback, node? > - which OS you run on dev and remote machine? > - how do you synchronize /tmp/cljs-repl-share? sshfs, samba, nfs? > > 3) some debugging tips: > > - check nodejs is running on remote machine and that it listens on some port > (netstat, lsof) > - try to snoop tcp/ip communication using wireshark > > Crossing my fingers, > Dan
I've switched absolute paths but the behaviour is still the same, osxfuse is working fine If I understood more about how it is meant to work it would be easier for me to debug. The first problem is I don't understand how it should be invoking node on the remote system. From my original post: "If I invoke node without arguments (as the repl init does) it just appears to hang; shouldn't an argument be passed to invoke something on the host?" I know node is being invoked but without arguments because I put an "echo" in the repl-host-node script. node v4.2.1 is running on the remote. Again thanks for your help with this. -- 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 https://groups.google.com/group/clojurescript.
