Emacs 意外的困难;你好,世界&引用;

Emacs 意外的困难;你好,世界&引用;,emacs,clojure,compiler-errors,leiningen,Emacs,Clojure,Compiler Errors,Leiningen,我想学习Clojure,我下载并设置了以下小发明: 官方网站的Clojure 1.6.0 雷宁根2.4.3 来自GitHub的苹果酒0.6.0 我让它工作了。现在我正在尝试打印消息“你好,世界!”,同时从Emacs中运行苹果酒: ; CIDER 0.6.0 (Java 1.7.0_65, Clojure 1.6.0, nREPL 0.2.0-beta5) user> (println "Hello World!") Hello World!NoSuchMethodError cloju

我想学习Clojure,我下载并设置了以下小发明:

  • 官方网站的Clojure 1.6.0
  • 雷宁根2.4.3
  • 来自GitHub的苹果酒0.6.0
我让它工作了。现在我正在尝试打印消息
“你好,世界!”
,同时从Emacs中运行苹果酒:

; CIDER 0.6.0 (Java 1.7.0_65, Clojure 1.6.0, nREPL 0.2.0-beta5)
user> (println "Hello World!")
Hello World!NoSuchMethodError clojure.tools.nrepl.StdOutBuffer.length()I
clojure.tools.nrepl.middleware.session/session-out/fn--7630
(session.clj:43)NoSuchMethodError clojure.tools.nrepl.StdOutBuffer.length()I
clojure.tools.nrepl.middleware.session/session-out/fn--7630 (session.clj:43)
user> 
这噪音是怎么回事?当我刚刚跑步时:

$ clojure
;Clojure 1.6.0
user=> (println "Hello, World!")
Hello, World!
nil
一切都很好。当我与莱宁根合作时:

$ lein repl
; lotsa stuff here...
user=> (println "Hello, World!")
输入此命令后,我喜欢以下诗歌:

CompilerException java.lang.RuntimeException: Unable to resolve symbol: rprintln in this context, compiling:(NO_SOURCE_PATH:1:1) NoSuchMethodError clojure.tools.nrepl.StdOutBuffer.length()I  clojure.tools.nrepl.middleware.session/session-out/fn--7630 (session.clj:43)
Exception in thread "nREPL-worker-3" java.lang.NoSuchMethodError: clojure.tools.nrepl.StdOutBuffer.length()I
    at clojure.tools.nrepl.middleware.session$session_out$fn__7630.doInvoke(session.clj:43)
    at clojure.lang.RestFn.invoke(RestFn.java:460)
    at clojure.tools.nrepl.middleware.session.proxy$java.io.Writer$ff19274a.write(Unknown Source)
    at java.io.PrintWriter.write(PrintWriter.java:456)
    at java.io.PrintWriter.write(PrintWriter.java:473)
    at clojure.core$fn__5471.invoke(core_print.clj:191)
    at clojure.lang.MultiFn.invoke(MultiFn.java:231)
    at clojure.core$pr_on.invoke(core.clj:3392)
    at clojure.core$pr.invoke(core.clj:3404)
    at clojure.lang.AFn.applyToHelper(AFn.java:154)
    at clojure.lang.RestFn.applyTo(RestFn.java:132)
    at clojure.core$apply.invoke(core.clj:624)
    at clojure.core$prn.doInvoke(core.clj:3437)
    at clojure.lang.RestFn.applyTo(RestFn.java:137)
    at clojure.core$apply.invoke(core.clj:624)
    at clojure.core$println.doInvoke(core.clj:3457)
    at clojure.lang.RestFn.invoke(RestFn.java:408)
    at clojure.main$repl_caught.invoke(main.clj:158)
    at clojure.tools.nrepl.middleware.interruptible_eval$evaluate$fn__7569$fn__7582.invoke(interruptible_eval.clj:76)
    at clojure.main$repl$fn__6634.invoke(main.clj:259)
    at clojure.main$repl.doInvoke(main.clj:257)
    at clojure.lang.RestFn.invoke(RestFn.java:1096)
    at clojure.tools.nrepl.middleware.interruptible_eval$evaluate$fn__7569.invoke(interruptible_eval.clj:56)
    at clojure.lang.AFn.applyToHelper(AFn.java:152)
    at clojure.lang.AFn.applyTo(AFn.java:144)
    at clojure.core$apply.invoke(core.clj:624)
    at clojure.core$with_bindings_STAR_.doInvoke(core.clj:1862)
    at clojure.lang.RestFn.invoke(RestFn.java:425)
    at clojure.tools.nrepl.middleware.interruptible_eval$evaluate.invoke(interruptible_eval.clj:41)
    at clojure.tools.nrepl.middleware.interruptible_eval$interruptible_eval$fn__7610$fn__7613.invoke(interruptible_eval.clj:171)
    at clojure.core$comp$fn__4192.invoke(core.clj:2402)
    at clojure.tools.nrepl.middleware.interruptible_eval$run_next$fn__7603.invoke(interruptible_eval.clj:138)
    at clojure.lang.AFn.run(AFn.java:22)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)
哦,不。多痛苦啊!住手,住手



我很困惑。这是什么?我该如何解决?有没有类似的经历?如何在Clojure中打印
“Hello,World!”

我可以用leinengen 2.4.3重现此错误。您可以运行
lein upgrade 2.4.2
以获得实际运行的最新版本。对于莱宁根团队来说,将这样一个糟糕的体形标记为稳定是不寻常的,起初我怀疑是苹果酒。顺便说一句,苹果酒的“稳定”版本应该是0.7.0。

作为Clojure的长期用户,我觉得这真的很令人失望,总的来说,我发现工具,
lein
尤其是,是Clojure最好的东西之一,我希望稳定性回到正轨。此外,只有在没有项目目录的情况下运行
lein
时才会出现此错误(您可以使用
lein create foo
为名为foo的项目创建项目)。关于苹果酒:的确,0.7.0是最新版本,但.0.8.0是最新版本,0.7.0是唯一一款被锁定的苹果酒,我不怪你用苹果酒得到了一个错误的版本,也不怪你有任何意外的苹果酒相关行为,它是一款永久性的尖端工具,从我所看到的所有证据来看,通常都是坏的?像这样的疯狂言论激怒了我——虽然主分支上不时出现故障,但它们总是得到及时解决,并且标记的发布相当稳定。+1表示“我喜欢下面的诗”