昨晚我花了一些时间弄乱我的 leinigen profiles.clj 以摆脱在我的项目中启动苹果酒时打印的所有错误。今天我从终端开始了一个repl(我喜欢在工作时保持一个打开)但它没有用。我认为这是苹果酒的问题,所以我从 Emacs 尝试了它,但即使在 Emacs 中,如果我不在项目中,repl 也不会启动。
这是错误:
Error loading refactor-nrepl.middleware: clojure.lang.ArityException: Wrong number of args (4) passed to: StringReader, compiling:(abnf.clj:186:28)
Exception in thread "Thread-4" java.lang.RuntimeException: Unable to resolve var: refactor-nrepl.middleware/wrap-refactor in this context, compiling:(NO_SOURCE_PATH:0:0)
...
Caused by: java.lang.RuntimeException: Unable to resolve var: refactor-nrepl.middleware/wrap-refactor in this context
我的 ~/.lein/profiles.clj
{:user {:plugins [[lein-try "0.4.3"]
[refactor-nrepl "1.1.0"]
[cider/cider-nrepl "0.9.1"]]
:dependencies [[org.clojure/tools.nrepl "0.2.12"]
[acyclic/squiggly-clojure "0.1.4"]
^:replace [org.clojure/tools.nrepl "0.2.12"]
[refactor-nrepl "1.1.0"]]}}
cider 在项目中启动时的事物版本
; CIDER 0.9.1 (Java 1.8.0_45, Clojure 1.7.0, nREPL 0.2.12)
我对 Clojure、Leinigen、Emacs 等还是很陌生,所以我不确定为什么上面所做的一切都让我的苹果酒错误消失了,但确实如此。我遇到的苹果酒错误与 nrepl 版本太低并且没有安装某些东西(如 refactor-nrepl)有关。