4

我已经根据 README.md 文件安装了 ensime,但是,在suber-ensime-server缓冲区中出现以下错误:

信息:致命错误:scala.tools.nsc.MissingRequirementError:找不到对象scala。
scala.tools.nsc.MissingRequirementError:找不到对象scala。
    在 scala.tools.nsc.symtab.Definitions$definitions$.getModuleOrClass(Definitions.scala:516)
    在 scala.tools.nsc.symtab.Definitions$definitions$.ScalaPackage(Definitions.scala:43)
    在 scala.tools.nsc.symtab.Definitions$definitions$.ScalaPackageClass(Definitions.scala:44)
    在 scala.tools.nsc.symtab.Definitions$definitions$.UnitClass(Definitions.scala:89)
    在 scala.tools.nsc.symtab.Definitions$definitions$.init(Definitions.scala:786)
    在 scala.tools.nsc.Global$Run.(Global.scala:593)
    在 scala.tools.nsc.interactive.Global$TyperRun.(Global.scala:473)
    在 scala.tools.nsc.interactive.Global.newTyperRun(Global.scala:535)
    在 scala.tools.nsc.interactive.Global.reloadSources(Global.scala:289)
    在 scala.tools.nsc.interactive.Global$$anonfun$reload$1.apply(Global.scala:300)
    在 scala.tools.nsc.interactive.Global$$anonfun$reload$1.apply(Global.scala:300)
    在 scala.tools.nsc.interactive.Global.respond(Global.scala:27​​6)
    在 scala.tools.nsc.interactive.Global.reload(Global.scala:300)
    在 scala.tools.nsc.interactive.CompilerControl$$anon$1.apply$mcV$sp(CompilerControl.scala:81)
    在 scala.tools.nsc.interactive.Global.pollForWork(Global.scala:132)
    在 scala.tools.nsc.interactive.Global$$anon$2.run(Global.scala:192)

还:

信息:致命错误:scala.tools.nsc.MissingRequirementError:找不到类 scala.Array。
scala.tools.nsc.MissingRequirementError:找不到类 scala.Array。
    在 scala.tools.nsc.symtab.Definitions$definitions$.getModuleOrClass(Definitions.scala:516)
    在 scala.tools.nsc.symtab.Definitions$definitions$.getClass(Definitions.scala:474)
    在 scala.tools.nsc.symtab.Definitions$definitions$.ArrayClass(Definitions.scala:217)
    在 scala.tools.nsc.backend.icode.TypeKinds$REFERENCE.(TypeKinds.scala:258)
    在 scala.tools.nsc.backend.icode.GenICode$ICodePhase.(GenICode.scala:55)
    在 scala.tools.nsc.backend.icode.GenICode.newPhase(GenICode.scala:43)
    在 scala.tools.nsc.backend.icode.GenICode.newPhase(GenICode.scala:25)
    在 scala.tools.nsc.Global$Run$$anonfun$4.apply(Global.scala:606)
    在 scala.tools.nsc.Global$Run$$anonfun$4.apply(Global.scala:605)
    在 scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:62)
    在 scala.collection.immutable.List.foreach(List.scala:46)
    在 scala.tools.nsc.Global$Run.(Global.scala:605)
    在 scala.tools.nsc.interactive.Global$TyperRun.(Global.scala:473)
    在 scala.tools.nsc.interactive.Global.newTyperRun(Global.scala:535)
    在 scala.tools.nsc.interactive.Global.reloadSources(Global.scala:289)
    在 scala.tools.nsc.interactive.Global.typedTreeAt(Global.scala:309)
    在 scala.tools.nsc.interactive.Global$$anonfun$getTypedTreeAt$1.apply(Global.scala:326)
    在 scala.tools.nsc.interactive.Global$$anonfun$getTypedTreeAt$1.apply(Global.scala:326)
    在 scala.tools.nsc.interactive.Global.respond(Global.scala:27​​6)
    在 scala.tools.nsc.interactive.Global.getTypedTreeAt(Global.scala:326)
    在 scala.tools.nsc.interactive.CompilerControl$$anon$2.apply$mcV$sp(CompilerControl.scala:89)
    在 scala.tools.nsc.interactive.Global.pollForWork(Global.scala:132)
    在 scala.tools.nsc.interactive.Global$$anon$2.run(Global.scala:192)

也没有任何类型识别对我有用,如果我得到任何东西,我会得到“NA”。Cc t 导致 emacs 锁定。

我在跑:

Ubuntu 10.04(64 位版本)
emacs 23.1.50.1
ensime 来自 git(截至 2010 年 5 月 3 日)
scala 版本为 2.8.0.RC1
java 为 1.6.0_20(来自 sun)
这里是日志的副本:http://dl .dropbox.com/u/5309017/ensime.log

谢谢!
杰夫

4

1 回答 1

5

“scala.tools.nsc.MissingRequirementError: object scala not found”通常意味着找不到标准的 Scala 库。看看劣质的 ensime 服务器缓冲区,它应该会打印出正在使用的类路径。这是我的摘录:

信息:[类路径 = /usr/lib/jvm/java-6-openjdk/jre/lib/resources.jar:/usr/lib/jvm/java-6-openjdk/jre/lib/rt.jar:/usr/ lib/jvm/java-6-openjdk/jre/lib/jsse.jar:/usr/lib/jvm/java-6-openjdk/jre/lib/jce.jar:/usr/lib/jvm/java-6- openjdk/jre/lib/charsets.jar:/usr/lib/jvm/java-6-openjdk/jre/lib/rhino.jar:/usr/lib/jvm/java-6-openjdk/jre/lib/ext/ dnsns.jar:/usr/lib/jvm/java-6-openjdk/jre/lib/ext/pulse-java.jar:/usr/lib/jvm/java-6-openjdk/jre/lib/ext/sunjce_provider。 jar:/usr/lib/jvm/java-6-openjdk/jre/lib/ext/sunpkcs11.jar:/usr/lib/jvm/java-6-openjdk/jre/lib/ext/localedata.jar:/usr /lib/jvm/java-6-openjdk/jre/lib/ext/gnome-java-bridge.jar:/home/aemon/src/misc/ensime/lib/jnotify/jnotify-0.93.jar:/home/aemon /src/misc/ensime/lib/scala/scala-library.jar:/home/aemon/src/misc/ensime/lib/scala/scala-compiler.jar]

注意 scala-library.jar,倒数第二个。您可能必须修改 .ensime 文件,以便 :classpath 字段指向库 jar。

于 2010-05-04T16:43:40.360 回答