Π§ΡΠΎ Ρ ΠΌΠΎΠ³Ρ Π»Π΅Π³ΠΊΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π½Π°Π±ΠΎΡ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΠΎΠ² deps.edn ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ cider-jack-in
Π― Π½Π΅ ΠΌΠΎΠ³Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π½Π°Π±ΠΎΡ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΠΎΠ² ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Ρ cider-jack-in
Π£ ΠΌΠ΅Π½Ρ Π΄Π΅ΠΏΡ.Π΅Π΄Π½ ΡΠ°ΠΊΠΎΠΉ:
{:deps {}
:paths ["src" "resources"]
:aliases
{:server {:extra-deps {org.clojure/clojure {:mvn/version "1.9.0"}
mount {:mvn/version "0.1.12"}
clj-time {:mvn/version "0.14.2"}
tick {:mvn/version "0.3.5"}
ring/ring-jetty-adapter {:mvn/version "1.6.3"}
cheshire {:mvn/version "5.8.0"}
garden {:mvn/version "1.3.3"}
com.taoensso/timbre {:mvn/version "4.10.0"}
hiccup {:mvn/version "1.0.5"}
org.clojure/tools.reader {:mvn/version "1.3.0"}
clj-http {:mvn/version "3.7.0"}
ring/ring-core {:mvn/version "1.6.3"}
org.clojure/core.async {:mvn/version "0.4.474"}}}
:client {:extra-deps {thheller/shadow-cljs {:mvn/version "2.4.24"}
com.taoensso/timbre {:mvn/version "4.10.0"}}}
:client/build {:main-opts ["-m" "shadow.cljs.devtools.cli" "release" "client"]}
:dev {:extra-deps {binaryage/devtools {:mvn/version "0.9.10"}}
:extra-paths ["dev"]}}}
Π§ΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΠΏΡΠΈ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΌΠ½Π΅ ΠΏΡΠΈΡΠ»ΠΎΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ ΠΈΡ Π½Π° ΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌ ΠΈ ΠΎΡΡΠ°Π²ΠΈΡΡ ΠΏΡΡΡΡΡ ΠΊΠ°ΡΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ.
Π― Ρ
ΠΎΡΠ΅Π» Π±Ρ ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΊΠ°ΠΊΠΈΠΌ-ΡΠΎ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΠΊΠ°Π·Π°ΡΡ Π½Π°Π±ΠΎΡ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΠΎΠ² Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Ρ ΡΡΠΈΠΌ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ, ΡΡΠΎΠ±Ρ cider-jack-in
Π·Π°ΠΏΡΡΠΊΠ°Π» clojure
Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠΌ ΠΊ Π½Π΅ΠΌΡ -A:server:client:dev
.
CIDER 0.18.0snapshot (ΠΏΠ°ΠΊΠ΅Ρ: 20180731.1750)
Clojure 1.9.0
;; CIDER 0.12.0snapshot (package: 20160331.421), nREPL 0.2.12
;; Clojure 1.8.0, Java 1.8.0_31
N / A
Emacs 25.3.1
macOS 10.12.16
Π― Π±Ρ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠΌΠ΅ΡΡΠΈΠ» ΡΡΠΎ Π² cider-clojure-cli-global-options
:
(setq cider-clojure-cli-global-options "-A:server:client:dev")
.
ΠΡΡΠ°ΡΠΈ, Π²ΡΠ·ΠΎΠ² cider-jack-in
Ρ ΠΏΡΠ΅ΡΠΈΠΊΡΠΎΠΌ arg ΡΠ°ΠΊΠΆΠ΅ Π·Π°ΠΏΡΠΎΡΠΈΡ Ρ Π²Π°Ρ Π»ΡΠ±ΡΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, C-u C-c C-x j j
).
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ, Ρ Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ Ρ Π±ΡΠ΄Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠ΅ΡΠΈΠΊΡ arg ( SPACE u SPACE m '
Π² spacemacs).
Π― Π²ΡΠ΅ Π΅ΡΠ΅ Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ ΠΈΠΌΠ΅ΡΡ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΡΠΏΠΎΡΠΎΠ± ΡΠΊΠ°Π·Π°ΡΡ ΡΡΠΎ Π΄Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° (ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ, ΠΊΠ»ΡΡ Π² deps.edn?) ΠΡΠ»ΠΎ Π±Ρ Π½Π΅ΠΏΠ»ΠΎΡ
ΠΎ, Π½ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ -A:server:client:dev
Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ΠΎΠ±ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠΌ.
ΠΠ»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π² ΡΠ°ΠΉΠ» .dir-locals.el
. ΠΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌ Emacs Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°. Π‘ΠΌ. Http://endlessparentheses.com/a-quick-guide-to-directory-local-variables.html
Π― ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°Π» ΡΡΠΎ Π½Π° a89b694cc3cec0294d84bf9dbe1163ad2373e8db ΠΈ ΠΏΠΎΠ»ΡΡΠΈΠ» ΠΎΡΠΈΠ±ΠΊΡ:
Wrong type argument: listp, "-A:dev"
. Π― ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΠ±ΠΎΠ²Π°Π» (setq cider-clojure-cli-global-options '("-A:dev"))
Π½ΠΎ ΡΡΠΎ Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ Ρ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ: (wrong-type-argument listp cider-clojure-cli-global-options)
@ ro6 Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΉΡΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ Π² Π΄ΠΈΠΊΠΎΠΉ ΠΏΡΠΈΡΠΎΠ΄Π΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ grep.app: https://grep.app/search?q=cider-clojure-cli-global-options
Π― ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΠ» ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ°ΠΉΠ» dir-locals.el:
((nil
(cider-clojure-cli-global-options . "-A:async")))
ΠΈ ΠΏΠΎΠ΄Π΄Π΅Π»ΠΊΠ° Π΄Π°Π΅Ρ ΠΌΠ½Π΅ Π΄ΠΎΡΡΡΠΏ ΠΊ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠΌΡ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΡ, ΡΡΠΎ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π°Π΅ΡΡΡ:
;; Connected to nREPL server - nrepl://localhost:50518
;; CIDER 0.26.1 (Nesebar), nREPL 0.8.0
;; ...
;; Startup: /usr/local/bin/clojure -A:async -Sdeps '{:deps {nrepl {:mvn/version "0.8.0"} cider/cider-nrepl {:mvn/version "0.25.3"}}}' -m nrepl.cmdline --middleware '["cider.nrepl/cider-middleware"]'
user>
Π― ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΠ» ΠΊΠΎΠΌΠΌΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΡΠΊΠ°Π·Π°Π»ΠΈ a89b694
ΠΈ Ρ ΠΌΠ΅Π½Ρ ΡΠ°ΠΌ ΡΠΎΠΆΠ΅ Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ. ΠΠ°ΠΊΠΎΠ½Π΅Ρ, Ρ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°Π» (setq cider-clojure-cli-global-options "A:cljs")
ΠΈ ΡΠ°ΠΊΠΆΠ΅ ΡΠΌΠΎΠ³ ΡΡΠΏΠ΅ΡΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ Ρ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΠΎΠΌ:
;; Startup: /usr/local/bin/clojure -A:cljs -Sdeps ...
ΠΠΎΠΆΠ΅ΡΠ΅ Π»ΠΈ Π²Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ?
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
ΠΠ»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π² ΡΠ°ΠΉΠ»
.dir-locals.el
. ΠΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Emacs Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°. Π‘ΠΌ. Http://endlessparentheses.com/a-quick-guide-to-directory-local-variables.html