Cryptic Clojure错误:java.lang.UnsupportedOperationException:此类型不支持第n个:符号

时间:2013-10-01 23:42:07

标签: windows clojure leiningen

我正在努力让莱宁根工作。我正在使用Windows 7.当我在命令窗口中运行时

C:\lein new app my-app

我收到以下错误。有谁知道这意味着什么以及错误发生在哪里?

有错误消息here的解释,但我不明白是否有修复或导致错误的原因。

C:\Users\a\work>lein new app my-app
java.lang.UnsupportedOperationException: nth not supported on this type: Symbol
        at clojure.lang.RT.nthFrom(RT.java:857)
        at clojure.lang.RT.nth(RT.java:807)
        at leiningen.core.project$dep_key.invoke(project.clj:175)
        at leiningen.core.project$reduce_dep_step.invoke(project.clj:183)
        at clojure.lang.ArrayChunk.reduce(ArrayChunk.java:58)
        at clojure.core.protocols$fn__6041.invoke(protocols.clj:98)
        at clojure.core.protocols$fn__6005$G__6000__6014.invoke(protocols.clj:19
)
        at clojure.core.protocols$seq_reduce.invoke(protocols.clj:31)
        at clojure.core.protocols$fn__6024.invoke(protocols.clj:60)
        at clojure.core.protocols$fn__5979$G__5974__5992.invoke(protocols.clj:13
)
        at clojure.core$reduce.invoke(core.clj:6177)
        at leiningen.core.project$meta_merge.invoke(project.clj:391)
        at clojure.core$merge_with$merge_entry__4279.invoke(core.clj:2698)
        at clojure.core$reduce1.invoke(core.clj:896)
        at clojure.core$merge_with$merge2__4281.invoke(core.clj:2701)
        at clojure.core$reduce1.invoke(core.clj:896)
        at clojure.core$reduce1.invoke(core.clj:887)
        at clojure.core$merge_with.doInvoke(core.clj:2702)
        at clojure.lang.RestFn.invoke(RestFn.java:439)
        at leiningen.core.project$meta_merge.invoke(project.clj:395)
        at leiningen.core.project$apply_profiles$fn__1009.invoke(project.clj:417
)
        at clojure.lang.ArrayChunk.reduce(ArrayChunk.java:58)
        at clojure.core.protocols$fn__6041.invoke(protocols.clj:98)
        at clojure.core.protocols$fn__6005$G__6000__6014.invoke(protocols.clj:19
)
        at clojure.core.protocols$seq_reduce.invoke(protocols.clj:31)
        at clojure.core.protocols$fn__6026.invoke(protocols.clj:54)
        at clojure.core.protocols$fn__5979$G__5974__5992.invoke(protocols.clj:13
)
        at clojure.core$reduce.invoke(core.clj:6177)
        at leiningen.core.project$apply_profiles.invoke(project.clj:415)
        at leiningen.core.project$init_profiles.doInvoke(project.clj:603)
        at clojure.lang.RestFn.invoke(RestFn.java:425)
        at leiningen.core.main$_main$fn__1332.invoke(main.clj:257)
        at leiningen.core.main$_main.doInvoke(main.clj:252)
        at clojure.lang.RestFn.invoke(RestFn.java:436)
        at clojure.lang.Var.invoke(Var.java:423)
        at clojure.lang.AFn.applyToHelper(AFn.java:167)
        at clojure.lang.Var.applyTo(Var.java:532)
        at clojure.core$apply.invoke(core.clj:617)
        at clojure.main$main_opt.invoke(main.clj:335)
        at clojure.main$main.doInvoke(main.clj:440)
        at clojure.lang.RestFn.invoke(RestFn.java:482)
        at clojure.lang.Var.invoke(Var.java:431)
        at clojure.lang.AFn.applyToHelper(AFn.java:178)
        at clojure.lang.Var.applyTo(Var.java:532)
        at clojure.main.main(main.java:37)
C:\Users\a\work

2 个答案:

答案 0 :(得分:2)

根据要求,这是我的评论转移到答案。我建议重新安装Leiningen,因为显然Leiningen安装破坏是问题的根源。

作为一个小背景解释,我在Linux和Windows上都使用Leiningen,我自己也体验过在its homepage lein上建议安装Leiningen的主要方法。 lein.bat脚本,只是工作,而替代 安装方法(Linux软件包管理器,Windows安装程序)通常会产生损坏的安装。

答案 1 :(得分:1)

我认为这不太可能是leiningen错误,因为我可以在没有leiningen以任何方式参与的情况下重现它:

用户=> (让[[foo bar]:froboz](列出foo bar))

此类型不支持UnsupportedOperationException:关键字clojure.lang.RT.nthFrom(RT.java:857)