Spyscope Java RuntimeException没有用于标签spy / p的读取器功能

时间:2019-06-14 20:42:46

标签: clojure spyscope

我正在尝试spyscope,并按照记录的示例进行操作:

user=>  (take 20 (repeat #spy/d (+ 1 2 3)))

RuntimeException No reader function for tag spy/d  clojure.lang.LispReader$CtorReader.readTagged (LispReader.java:1245)
RuntimeException Unmatched delimiter: )  clojure.lang.Util.runtimeException (Util.java:221)
RuntimeException Unmatched delimiter: )  clojure.lang.Util.runtimeException (Util.java:221)

我的~/.lein/profile.clj是:

{:user {:dependencies [[spyscope "0.1.6"]]
        :injections [(require 'spyscope.core)
                     (use 'clojure.tools.trace)]

        :plugins [[lein-try "0.4.3"]]
        }
 }

我的莱宁根版本是:

$ lein --version
Leiningen 2.8.1 on Java 1.8.0_212 OpenJDK 64-Bit Server VM

我似乎找不到任何解决方法的答案。

2 个答案:

答案 0 :(得分:1)

回答我自己的问题,以使下一个人更容易找到解决方案。

答案可以追溯到[本期]:(https://github.com/dgrnbrg/spyscope/issues/8

  

Lein 2允许用户在非项目目录中触发lein repl,情况就是这样

您必须在带有project.clj文件的目录中使用spyscope。

答案 1 :(得分:0)

您可以在个人档案中以这种方式使用spyscope。clj

; try/catch to workaround an issue where `lein repl` outside a project dir
; will not load reader literal definitions correctly:
(try (require 'spyscope.core)
     (catch RuntimeException e))