Open andnils opened 6 years ago
Add EXPOSE for nrepl port in docker-compose
Fasen, söker runt för att hitta svar på detta men hittar inget som verkar vettigt. Inget som jag förstår mig på iaf. Som jag tänker det så startar man upp server
processen och så säger man i någon config att -"Hej här har vi en TCP/IP port som du kan ansluta en remote repl till." Tänker att det då är en rad i typ project.clj
Fick till slut till det.
Ändrade till command: lein repl :headless :host "0.0.0.0" :port 4100
i docker-compose och la till så att port 4100 är öppen.
Sedan ja jag till en snippet i min Emacs conf:
(defun get-mclojure-ip ()
(replace-regexp-in-string
"\n$" ""
(shell-command-to-string "docker inspect mclojure | grep IPAddress | grep -oE '\\b([0-9]{1,3}\.){3}[0-9]{1,3}\\b'")))
(setq cider-known-endpoints `(("mclojure" ,(get-mclojure-ip) "4100")))
Sedan använde jag M-x cider-connect
för att ansluta till nrepl.
Ser bra ut ju! Kan du koppla upp dig och köra:
user> (go)
?
Kom på en grej: när CIDER startar en repl själv, så injectar den lite middleware i din leiningen-profil. Dom bitarna får man inte med när man ansluter till en redan startad REPL. Så jag antar att du såg något meddelande i stil med:
WARNING: CIDER's version (0.16.0) does not match cider-nrepl's version (nil). Things will break!
Finns mer info här: http://cider.readthedocs.io/en/latest/installation/#ciders-nrepl-middleware
Jag får ett exception på (go)
.
Precis, detta får jag när jag ansluter.
WARNING: CIDER's version (0.17.0-snapshot) does not match cider-nrepl's version (nil). Things will break!
More information.
user>
Efter att jag lagt till cider-nrepl
till plugins i projektet:
:plugins [[lein-pprint "1.2.0"]
[cider/cider-nrepl "0.16.0"]]
och att ha pekat på melpa-stable för cider
så kan jag ansluta utan att få fel.
Make sure emacs (or similar) can connect to repl on docker container.