A)我遇到了一个问题,Cider 不能cider-connect-clj
(或cider-connect-cljs
)连接到我在我的应用程序代码中启动的nREPL 服务器。草书也不行。它必须是需要包含的简单配置或中间件。但我一直在看这段代码太久了。我错过了什么?
我有一个看起来像这样的 Clojure 文件。
(ns some.namespace
(:require nrepl.server
cider.nrepl))
(nrepl.server/start-server
:port 1234
:handler
(fn [_]
(nrepl.server/default-handler cider.nrepl/cider-middleware)))
nrepl.server/start-server
开始正常。在 Emacs 中,我可以通过调用cider-connect-clj
(或cider-connect-cljs
)进行连接。但随后 REPL 无法根据“同步”请求进行初始化。
一世。Emacs 控制台
[nREPL] Direct connection to localhost:6776 established
nrepl-send-sync-request: Sync nREPL request timed out (op clone id 1 time-stamp 2021-02-04 23:13:46.789763000)
ii. nREPL 控制台
[WARNING] No nREPL middleware descriptor in metadata of null, see nrepl.middleware/set-descriptor!
B)我实际上正在运行Figwheel-Main并连接一个 nREPL,用于 Clojurescript 连接。全部在我的 Clojure 应用程序中。
;; λ clj -A:dev -m some.namespace
:dev
{:extra-paths ["dev" "test"]
:extra-deps {org.clojure/clojure {:mvn/version "1.10.0"}
org.clojure/clojurescript {:mvn/version "1.10.520"}
com.bhauman/figwheel-main {:mvn/version "0.2.0"}
nrepl/nrepl {:mvn/version "0.8.3"}
cider/cider-nrepl {:mvn/version "0.25.8"}
cider/piggieback {:mvn/version "0.4.2"}}}
我认为 Figwheel 部分不会影响苹果酒的连接尝试。但我将它包括在内只是为了上下文。
(defn -main [& args]
;; Start Figwheel Server
(figwheel.main.api/start
{:mode :serve} "dev")
;; Start nREPL
(def server (nrepl.server/start-server
:port 1234
:handler
(fn [_]
(nrepl.server/default-handler cider.nrepl/cider-middleware))))
;; Start Figwheel REPL
(fig/cljs-repl "dev"))