cider-jack-in์ leiningen์ด์๋ ๋ถํธ๋ฅผ ์ฌ์ฉํ ๋ ์๋ํฉ๋๋ค.
lein ์คํ ํ์ผ์ด 'exec-path'์ ์์ต๋๋ค.
๊ทธ ๊ฐ์น๋
( "/ usr / local / scripts" "/ usr / local / bin /" "/ usr / bin /"...)
boot.sh ๋ฐ boot๋ผ๋ ์ฌ๋ณผ๋ฆญ ๋งํฌ๋ / usr / local / scripts์ ์์ต๋๋ค.
์ฌ์ด๋ค-๋ผ์ธ-๋ช
๋ น์ "๋ ์ธ"
cider-boot-command๋ "boot"์ด๊ณ "boot.sh"๋ ์๋ํ์ต๋๋ค.
๋๋ ์์น ๋ฆฌ๋ ์ค์ ์ ํฌ ๋ฆฌ๋ ์ค, emacs 24์ 25์์ ์ด๊ฒ์ ๊ฒฝํํ์ต๋๋ค. Leiningen์ ์ค์น๋์์ ๋ ์์๋๋ก ์๋ํ์ง๋ง ๋ถํธ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ์ ํธํฉ๋๋ค.
Spacemacs ์ค์น (ํ๋์ git clone ๋ช
๋ น)
https://github.com/syl20bnr/spacemacs#install
Spacemacs์์ 'clojure'๋ ์ด์ด ํ์ฑํ
๋ถํ ์ค์น
ํด๋ก์ ๋ ์ด์ด์ ๋ํ '๋ถํ
์ผ๋ก ๋น ๋ฅธ ์์'์ง์นจ์ ๋ฐ๋ฆ
๋๋ค.
http://spacemacs.org/layers/+lang/clojure/README.html
Spacemacs์์ ์ฌ๊ณผ์ฃผ ์ญ์ธ ๋๋ 'SPC msi'์๋
emacs ๋ด์์ REPL์ ์์ํ ์ ์์ง๋ง cider-20160825.249
์๋ํ๋ CLI์์ ๋ถํ repl์ ์์ํ ๋ REPL-y 0.3.7, nREPL 0.2.12, Clojure 1.7.0
BOOT_CLOJURE_NAME = org.clojure / clojure
BOOT_CLOJURE_VERSION = 1.7.0
BOOT_VERSION = 2.6.0
25.0.95.1
์ ํฌ GNU / ๋ฆฌ๋ ์ค
์ด Elisp (executable-find "boot")
๋นํธ๋ฅผ ์คํํ๋ฉด ์ด๋ป๊ฒ๋ฉ๋๊น (์ : ielm
๋๋ M-:
)?
์ฌ๋ฐ๋ฅธ "/ usr / local / scripts / boot"์ ๋๋ค. ๋ช ๋ น ์ค์์ '/ usr / local / scripts / boot repl'์ ์คํํ๋ฉด ์๋ฒฝํ๊ฒ ์๋ํฉ๋๋ค.
Lein์ด ์๋์ง ํ์ธํ๊ณ Boot๋ฅผ ํ์ธํ๋ ์ง์ ์ ๋๋ฌํ์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค.
๋๋ ์ด๊ฒ์ ์์ ๋ด๊ธฐ ์ํด ์์ค๋ฅผ ๋ค์ ํ๊ณ ๋ค๊ธฐ ์์ํ๋ค. Cider๊ฐ ์ด๋ค ์ข ๋ฅ์ ๋น๋ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๊ณ ์๋์ง ์์๋ด๋ ๋ ๋์ ๋ฐฉ๋ฒ์ด ํ์ํ ๊ฒ ๊ฐ์ต๋๋ค.
๋๋ ๊ทธ๋ค ์ค ํ๋๋ฅผ ํธ์ถํ๊ธฐ ์ ์ ์ค์ ๋ก lein, boot ๋ฑ์ ์ํด _looking_ ์ ์ ์ํฉ๋๋ค.
ํ์ฌ Cider๋ ๋น๋ ํ์ผ ๋ง ์ฐพ์ต๋๋ค. lein์ ๊ฒฝ์ฐ project.clj, ๋ถํ ์ ๊ฒฝ์ฐ build.boot, gradle์ ๊ฒฝ์ฐ build.gradle์ ๋๋ค. ์ฐพ์ ์ ์์ผ๋ฉด lein์ผ๋ก ๊ฐ์ฃผํฉ๋๋ค.
๋น์ด ์๊ณ ์ธ๋ชจ์๋ build.boot ํ์ผ์ ๋ง๋ค์๊ณ ์ด์ Cider ๊ฐ์ด 'ํ๋ก์ ํธ'๋ด์์ ์๋ฒฝํ๊ฒ ์๋ํฉ๋๋ค. boot๋ฅผ ์ฌ์ฉํ์ฌ repl์ ์์ํ๋ ๋ฐ๋ ํ์ํ์ง ์์ต๋๋ค. cider--identify-buildtools-present _really_ ํจ์๋ ๋ ์ฒ ์ ํด์ผํฉ๋๋ค.
ํด๋น ๊ธฐ๋ฅ์ด์๋ ๊ทธ๋๋ก ์ ์ง๋๋ ๊ฒฝ์ฐ ๊ธฐ๋ณธ์ ์ผ๋ก lein์ผ๋ก ์ค์ ๋์ด์๋ ์๋ฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์์คํ ์ ์ค์ ๋ก ์กด์ฌํ๋ ๋๊ตฌ๋ฅผ ๊ฒ์ํ๋๋ก ์ค์ ๋์ด์ผํฉ๋๋ค.
(executable-find "blah") ๋งค์ฐ ์ ์๋ํ๋ ๊ฒ ๊ฐ์ผ๋ฏ๋ก์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ํ ์์ฒญ ์์ ์ ์์ํ๊ฒ ์ต๋๋ค. ๋ ๋ง์ ๊ฒฝํ์ด์๋ ๊ฐ๋ฐ์๋ค์ด ๋๊ฐ์ด ํด์ฃผ๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค. ์ฑ๊ณตํ์ง ๋ชปํ ์๋ ์์ต๋๋ค.
์ข์,์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ค๋ฉด cider-project-type
ํจ์๋ฅผ ์์ ํ ๋ถ๋ฆฌํด์ผ ํ ๊ฒ ๊ฐ์ต๋๋ค. ๋๋ ๊ทธ๋ ๊ฒํ๋ ๊ฒ์ด ์ ํ ํธํ์ง ์๋ค. ๊ทธ๋ฌ๋ ์ด์จ๋ , ์ฌ๊ธฐ์ ๋ด๊ฐ ์ง๊ธ๊น์ง ๋ง๋ ํ๋ฅญํ ์๋ฆฌ ์คํ๊ฐ ์์ต๋๋ค.
(or (executable-find cider-lein-command)
(executable-find cider-boot-command)
(executable-find cider-gradle-command))
์ด๋ ์กด์ฌํ๋ ์ธ ๊ฐ ์ค ์ฒซ ๋ฒ์งธ๋ฅผ ๋ฐํํ๋ฉฐ project.clj, build.boot ๋๋ build.gradle์ด์๋ ๊ฒฝ์ฐ ๊ธฐ๋ณธ ์คํ ํ์ผ์ด์ด์ผํฉ๋๋ค.
๋๋ ์ด๊ฒ์ด ๊ณ ์น๊ธฐ ์ฌ์ธ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ๋ค. ์กฐ์ฌํ๊ฒ ์ต๋๋ค.
์, ์ด๊ฒ์ด ์ด๋ป๊ฒ ์ฌ์ฉ๋์ด์ผํ๋์ง ์์ด ๋ฒ๋ฆฐ ๊ฒ ๊ฐ์ต๋๋ค. cider-default-repl-command
๋ฅผ "boot"๋ก ์ค์ ํ์ญ์์ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๋๋ ์ด๊ฒ์ด ๊ณ ์น๊ธฐ ์ฌ์ธ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ๋ค. ์กฐ์ฌํ๊ฒ ์ต๋๋ค.