执行 M-x cider-version
会显示我现在运行的是版本 0.24.0。我的Cider设置相当简单,所以 C-c C-d C-d
会运行 cider-doc
。将光标放在例如 doseq
上,然后执行此命令将会弹出一个包含以下内容的缓冲区
clojure.core/doseq
[seq-exprs & body]
Macro
Added in 1.0
Repeatedly executes body (presumably for side-effects) with
bindings and filtering as provided by "for". Does not retain
the head of the sequence. Returns nil.
clojure.core/doseq is defined in jar:file:<snipped>/.m2/repository/org/clojure/clojure/1.10.1/clojure-1.10.1.jar!/clojure/core.clj.
Also see: doall dorun for dotimes run!
[back]
所以好消息是,您并没有疯!
我对实现进行了一些研究,发现 cider-doc
函数依赖于来自 cider/cider-nrepl 的功能,该功能又依赖于来自 cider/orchard 的功能,后者再次从 ClojureDocs 中提取 see-also
信息。
造成崩溃的原因非常多,但最有可能的是 CIDER 开发者不小心打破了某些东西。
检查您使用的 cider 版本,以及 cider/cider-nrepl
和 nrepl/nrepl
的版本。如果这些中的任何一个版本是 -SNAPSHOT
,尝试回退到一个稳定的版本,看看是否能够解决这个问题。为了参考,我使用的是 CIDER 0.24.0 和 cider-jack-in
,因此在我的机器上会自动拉取 cider/cider-nrepl
0.24.0 和 nrepl/nrepl
0.6.0。
在 Clojurians Slack 上的 #cider
频道有许多乐于助人的人,如果无法将 CIDER 恢复到所需状态,他们可能会帮助您调试此问题。