Cider: 기호 μ™„λ£Œ μ‹œλ„ μ‹œ eldoc 였λ₯˜

에 λ§Œλ“  2020λ…„ 04μ›” 22일  Β·  8μ½”λ©˜νŠΈ  Β·  좜처: clojure-emacs/cider

CIDER 0.25.0snapshot(νŒ¨ν‚€μ§€: 20200420.735), nREPL 0.6.0
ν΄λ‘œμ € 1.10.1, μžλ°” 1.8.0_242
μš°λΆ„νˆ¬ 18.04

clj 도ꡬ repl
ν΄λ‘œμ € λ²„νΌμ—μ„œ (Cc k)λ₯Ό ν‰κ°€ν•˜κ³  λ‹€μŒ 두 ν‘œν˜„μ‹μ„ μž…λ ₯ν•©λ‹ˆλ‹€.

(require '[clojure.string :as str])
str/bl<TAB>

원인:

 Suppress eldoc-error 

1. Unhandled java.lang.Exception
   Either "symbol", or ("class", "member") must be supplied

                  info.clj:   71  cider.nrepl.middleware.info/info
                  info.clj:   61  cider.nrepl.middleware.info/info
                  info.clj:   85  cider.nrepl.middleware.info/eldoc-reply
                  info.clj:   83  cider.nrepl.middleware.info/eldoc-reply
        error_handling.clj:  160  cider.nrepl.middleware.util.error-handling/eval1768/fn
              MultiFn.java:  234  clojure.lang.MultiFn/invoke
                  info.clj:   96  cider.nrepl.middleware.info/handle-info
                  info.clj:   95  cider.nrepl.middleware.info/handle-info
                  Var.java:  388  clojure.lang.Var/invoke
                 nrepl.clj:  181  cider.nrepl/wrap-info/fn
            middleware.clj:   16  nrepl.middleware/wrap-conj-descriptor/fn
                 nrepl.clj:  167  cider.nrepl/wrap-format/fn
            middleware.clj:   16  nrepl.middleware/wrap-conj-descriptor/fn
                 nrepl.clj:  306  cider.nrepl/wrap-profile/fn
            middleware.clj:   16  nrepl.middleware/wrap-conj-descriptor/fn
                 nrepl.clj:  426  cider.nrepl/wrap-trace/fn
            middleware.clj:   16  nrepl.middleware/wrap-conj-descriptor/fn
                 nrepl.clj:   95  cider.nrepl/wrap-slurp/fn
            middleware.clj:   16  nrepl.middleware/wrap-conj-descriptor/fn
             load_file.clj:   81  nrepl.middleware.load-file/wrap-load-file/fn
            middleware.clj:   16  nrepl.middleware/wrap-conj-descriptor/fn
                 nrepl.clj:  463  cider.nrepl/wrap-version/fn
            middleware.clj:   16  nrepl.middleware/wrap-conj-descriptor/fn
                 nrepl.clj:  103  cider.nrepl/wrap-apropos/fn
            middleware.clj:   16  nrepl.middleware/wrap-conj-descriptor/fn
                 nrepl.clj:  111  cider.nrepl/wrap-classpath/fn
            middleware.clj:   16  nrepl.middleware/wrap-conj-descriptor/fn
                 nrepl.clj:  137  cider.nrepl/wrap-debug/fn
            middleware.clj:   16  nrepl.middleware/wrap-conj-descriptor/fn
                 nrepl.clj:  163  cider.nrepl/wrap-enlighten/fn
            middleware.clj:   16  nrepl.middleware/wrap-conj-descriptor/fn
                 nrepl.clj:  473  cider.nrepl/wrap-xref/fn
            middleware.clj:   16  nrepl.middleware/wrap-conj-descriptor/fn
                 nrepl.clj:  455  cider.nrepl/wrap-undef/fn
            middleware.clj:   16  nrepl.middleware/wrap-conj-descriptor/fn
                 nrepl.clj:  444  cider.nrepl/wrap-tracker/fn
            middleware.clj:   16  nrepl.middleware/wrap-conj-descriptor/fn
                 nrepl.clj:  397  cider.nrepl/wrap-stacktrace/fn
            middleware.clj:   16  nrepl.middleware/wrap-conj-descriptor/fn
                 nrepl.clj:   83  cider.nrepl/wrap-content-type/fn
            middleware.clj:   16  nrepl.middleware/wrap-conj-descriptor/fn
                 nrepl.clj:  200  cider.nrepl/wrap-inspect/fn
            middleware.clj:   16  nrepl.middleware/wrap-conj-descriptor/fn
                caught.clj:   97  nrepl.middleware.caught/wrap-caught/fn
            middleware.clj:   16  nrepl.middleware/wrap-conj-descriptor/fn
                 print.clj:  234  nrepl.middleware.print/wrap-print/fn
            middleware.clj:   16  nrepl.middleware/wrap-conj-descriptor/fn
               session.clj:  272  nrepl.middleware.session/session/fn
            middleware.clj:   16  nrepl.middleware/wrap-conj-descriptor/fn
                server.clj:   18  nrepl.server/handle*
                server.clj:   15  nrepl.server/handle*
                server.clj:   27  nrepl.server/handle/fn
                  core.clj: 2030  clojure.core/binding-conveyor-fn/fn
                  AFn.java:   18  clojure.lang.AFn/call
           FutureTask.java:  266  java.util.concurrent.FutureTask/run
   ThreadPoolExecutor.java: 1149  java.util.concurrent.ThreadPoolExecutor/runWorker
   ThreadPoolExecutor.java:  624  java.util.concurrent.ThreadPoolExecutor$Worker/run
               Thread.java:  748  java.lang.Thread/run

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

μ²œλ§Œμ—μš”!

ν˜Έν™˜λ˜λŠ” μŠ€λƒ…μƒ·λ„ ν‘Έμ‹œν–ˆμŠ΅λ‹ˆλ‹€. 이 λ³€κ²½μœΌλ‘œ 인해 ν”Όν•΄λ₯Ό μž…μ€ μ‚¬λžŒμ΄ 당신뿐이 μ•„λ‹ˆλΌλŠ” 것을 μ•Œμ•˜κΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€. Btw, cider.el μ—λŠ” μ˜¬λ°”λ₯Έ cider-nrepl 버전을 μ‚¬μš©ν•˜κ³  μžˆλŠ”μ§€ μ˜μ‹¬μŠ€λŸ¬μš΄μ§€ 항상 확인할 수 μžˆλŠ” μƒμˆ˜κ°€ μžˆμŠ΅λ‹ˆλ‹€.

(defconst cider-required-middleware-version "0.25.0-alpha1"
  "The CIDER nREPL version that's known to work properly with CIDER.")

λͺ¨λ“  8 λŒ“κΈ€

cider-nrepl 버전이 λ¬΄μ—‡μž…λ‹ˆκΉŒ? κ·€ν•˜μ˜ ν΄λΌμ΄μ–ΈνŠΈμ™€ 미듀웨어가 λ™κΈ°ν™”λ˜μ§€ μ•Šμ€ 것 κ°™μŠ΅λ‹ˆλ‹€.

cider-nrepl 0.25.0-SNAPSHOT ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. repl을 μ‹œμž‘ν•˜κΈ° μœ„ν•΄ μ‹€ν–‰ 쀑인 λͺ…령은 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

clj -A:datomic-pro:dev -Sdeps '{:deps {cider/cider-nrepl {:mvn/version "0.25.0-SNAPSHOT"}}}' -m nrepl.cmdline --middleware "[cider.nrepl/cider-middleware]"

cider-nrepl 0.25.0-alpha1둜 μ „ν™˜ν•˜λ©΄ λ¬Έμ œκ°€ μ‚¬λΌμ§‘λ‹ˆλ‹€. μŠ€λƒ…μƒ·μ΄ ν΄λΌμ΄μ–ΈνŠΈμ™€ λ™κΈ°ν™”λ˜μ§€ μ•Šλ„λ‘ ν•˜κΈ° μœ„ν•΄ μˆ˜μ‹œλ‘œ 릴리슀λ₯Ό μ€„μž…λ‹ˆλ‹€.

감사 ν•΄μš”! - cider-nrepl 0.25.0-alpha1둜 μ „ν™˜ν•˜λ©΄ μ‹€μ œλ‘œ λ¬Έμ œκ°€ ν•΄κ²°λ˜λŠ”μ§€ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€. +1:
cider-nrepl pls의 μƒˆ 릴리슀λ₯Ό ν™•μΈν•˜κΈ°μ— κ°€μž₯ 쒋은 곳은 μ–΄λ””μΈκ°€μš”?

clojars 것 κ°™μ•„μš”. κ·Έλž˜λ„ κ²½κ³ λ₯Ό 받지 λͺ»ν–ˆλ‹€λŠ” 사싀에 λ†€λžμŠ΅λ‹ˆλ‹€. CIDER의 κ΅¬μ„±μ—μ„œ alpha1은 ν•„μˆ˜ λ²„μ „μ΄μ§€λ§Œ 버전 비ꡐ λ…Όλ¦¬μ—μ„œλŠ” μŠ€λƒ…μƒ·κ³Ό μ•ŒνŒŒκ°€ μΆ©λΆ„νžˆ 가깝닀고 μƒκ°ν•©λ‹ˆλ‹€.

clojars 것 κ°™μ•„μš”. κ·Έλž˜λ„ κ²½κ³ λ₯Ό 받지 λͺ»ν–ˆλ‹€λŠ” 사싀에 λ†€λžμŠ΅λ‹ˆλ‹€. CIDER의 κ΅¬μ„±μ—μ„œ alpha1은 ν•„μˆ˜ λ²„μ „μ΄μ§€λ§Œ 버전 비ꡐ λ…Όλ¦¬μ—μ„œλŠ” μŠ€λƒ…μƒ·κ³Ό μ•ŒνŒŒκ°€ μΆ©λΆ„νžˆ 가깝닀고 μƒκ°ν•©λ‹ˆλ‹€.

λ‚˜λŠ” 보톡 κ·Έ κ²½κ³ λ₯Ό λ°›λŠ”λ‹€λŠ” 것을 μ•Œμ•˜λ‹€(μ—…λ°μ΄νŠΈ cider-nrepl ), λ‹€μ‹œ ν•œ 번 κ°μ‚¬ν•©λ‹ˆλ‹€!

μ²œλ§Œμ—μš”!

ν˜Έν™˜λ˜λŠ” μŠ€λƒ…μƒ·λ„ ν‘Έμ‹œν–ˆμŠ΅λ‹ˆλ‹€. 이 λ³€κ²½μœΌλ‘œ 인해 ν”Όν•΄λ₯Ό μž…μ€ μ‚¬λžŒμ΄ 당신뿐이 μ•„λ‹ˆλΌλŠ” 것을 μ•Œμ•˜κΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€. Btw, cider.el μ—λŠ” μ˜¬λ°”λ₯Έ cider-nrepl 버전을 μ‚¬μš©ν•˜κ³  μžˆλŠ”μ§€ μ˜μ‹¬μŠ€λŸ¬μš΄μ§€ 항상 확인할 수 μžˆλŠ” μƒμˆ˜κ°€ μžˆμŠ΅λ‹ˆλ‹€.

(defconst cider-required-middleware-version "0.25.0-alpha1"
  "The CIDER nREPL version that's known to work properly with CIDER.")

μ—¬κΈ°μ—μ„œλ„ 동일 -> ~/.lein/profile.cljμ—μ„œ 쒅속성을 μ œκ±°ν•˜μ—¬ μˆ˜μ •λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰