Installing Ensime for Scala Development on emacs: sbt.ResolveException: unresolved dependency: org.ensime#ensime-sbtt-cmd;0.12: not found

99封情书 提交于 2019-12-11 07:43:28

问题


I have placed the line:

addSbtPlugin("org.ensime" % "ensime-sbtt-cmd" % "0.12")

into my ~/.sbt/0.13/plugins/plugins.sbt

But, when I try to run sbt within the root directory of my project, I get:

Loading /usr/share/sbt/bin/sbt-launch-lib.bash
[info] Loading global plugins from /home/djg/.sbt/0.13/plugins
[info] Updating {file:/home/djg/.sbt/0.13/plugins/}global-plugins...
[info] Resolving org.ensime#ensime-sbtt-cmd;0.12 ...
[warn]  module not found: org.ensime#ensime-sbtt-cmd;0.12
[warn] ==== typesafe-ivy-releases: tried
[warn]   http://repo.typesafe.com/typesafe/ivy-releases/org.ensime/ensime-sbtt-cmd/scala_2.10/sbt_0.13/0.12/ivys/ivy.xml
[warn] ==== sbt-plugin-releases: tried
[warn]   http://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/org.ensime/ensime-sbtt-cmd/scala_2.10/sbt_0.13/0.12/ivys/ivy.xml
[warn] ==== local: tried
[warn]   /home/djg/.ivy2/local/org.ensime/ensime-sbtt-cmd/scala_2.10/sbt_0.13/0.12/ivys/ivy.xml
[warn] ==== public: tried
[warn]   http://repo1.maven.org/maven2/org/ensime/ensime-sbtt-cmd_2.10_0.13/0.12/ensime-sbtt-cmd-0.12.pom
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  ::          UNRESOLVED DEPENDENCIES         ::
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  :: org.ensime#ensime-sbtt-cmd;0.12: not found
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn] 
[warn]  Note: Some unresolved dependencies have extra attributes.  Check that these dependencies exist with the requested attributes.
[warn]      org.ensime:ensime-sbtt-cmd:0.12 (sbtVersion=0.13, scalaVersion=2.10)
[warn] 
sbt.ResolveException: unresolved dependency: org.ensime#ensime-sbtt-cmd;0.12: not found
    at sbt.IvyActions$.sbt$IvyActions$$resolve(IvyActions.scala:213)
    at sbt.IvyActions$$anonfun$update$1.apply(IvyActions.scala:122)
    at sbt.IvyActions$$anonfun$update$1.apply(IvyActions.scala:121)
    at sbt.IvySbt$Module$$anonfun$withModule$1.apply(Ivy.scala:116)
    at sbt.IvySbt$Module$$anonfun$withModule$1.apply(Ivy.scala:116)
    at sbt.IvySbt$$anonfun$withIvy$1.apply(Ivy.scala:104)
    at sbt.IvySbt.sbt$IvySbt$$action$1(Ivy.scala:51)
    at sbt.IvySbt$$anon$3.call(Ivy.scala:60)
    at xsbt.boot.Locks$GlobalLock.withChannel$1(Locks.scala:98)
    at xsbt.boot.Locks$GlobalLock.xsbt$boot$Locks$GlobalLock$$withChannelRetries$1(Locks.scala:81)
    at xsbt.boot.Locks$GlobalLock$$anonfun$withFileLock$1.apply(Locks.scala:102)
    at xsbt.boot.Using$.withResource(Using.scala:11)
    at xsbt.boot.Using$.apply(Using.scala:10)
    at xsbt.boot.Locks$GlobalLock.ignoringDeadlockAvoided(Locks.scala:62)
    at xsbt.boot.Locks$GlobalLock.withLock(Locks.scala:52)
    at xsbt.boot.Locks$.apply0(Locks.scala:31)
    at xsbt.boot.Locks$.apply(Locks.scala:28)
    at sbt.IvySbt.withDefaultLogger(Ivy.scala:60)
    at sbt.IvySbt.withIvy(Ivy.scala:101)
    at sbt.IvySbt.withIvy(Ivy.scala:97)
    at sbt.IvySbt$Module.withModule(Ivy.scala:116)
    at sbt.IvyActions$.update(IvyActions.scala:121)
    at sbt.Classpaths$$anonfun$sbt$Classpaths$$work$1$1.apply(Defaults.scala:1144)
    at sbt.Classpaths$$anonfun$sbt$Classpaths$$work$1$1.apply(Defaults.scala:1142)
    at sbt.Classpaths$$anonfun$doWork$1$1$$anonfun$73.apply(Defaults.scala:1165)
    at sbt.Classpaths$$anonfun$doWork$1$1$$anonfun$73.apply(Defaults.scala:1163)
    at sbt.Tracked$$anonfun$lastOutput$1.apply(Tracked.scala:35)
    at sbt.Classpaths$$anonfun$doWork$1$1.apply(Defaults.scala:1167)
    at sbt.Classpaths$$anonfun$doWork$1$1.apply(Defaults.scala:1162)
    at sbt.Tracked$$anonfun$inputChanged$1.apply(Tracked.scala:45)
    at sbt.Classpaths$.cachedUpdate(Defaults.scala:1170)
    at sbt.Classpaths$$anonfun$updateTask$1.apply(Defaults.scala:1135)
    at sbt.Classpaths$$anonfun$updateTask$1.apply(Defaults.scala:1113)
    at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
    at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:42)
    at sbt.std.Transform$$anon$4.work(System.scala:64)
    at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:237)
    at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:237)
    at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:18)
    at sbt.Execute.work(Execute.scala:244)
    at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:237)
    at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:237)
    at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:160)
    at sbt.CompletionService$$anon$2.call(CompletionService.scala:30)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    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:724)
[error] (*:update) sbt.ResolveException: unresolved dependency: org.ensime#ensime-sbtt-cmd;0.12: not found
Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore? 

I was guessing the VERSION number was wrong, so I tried replacing "0.12" with "0.13", and "0.12-SNAPSHOT", but keep getting similar results.

My goal is to use ensime with emacs to edit Scala code. What am I missing?


回答1:


Looking at the build file of that plugin:

version := "0.1.2"

the correct version seems to be "0.1.2", not "0.12". (see here).

Furthermore, you have a typo in the arifact name: It's "ensime-sbt-cmd" not "ensime-sbtt-cmd".


Normally, sbt should find stuff in oss.sonatype.org even if it doesn't get through to Maven Central. However, I'm not sure this goes for plugins as well, therefore you might try to explicitly add a resolver for it:

resolvers += 
  "Sonatype releases" at "https://oss.sonatype.org/content/repositories/releases"


来源:https://stackoverflow.com/questions/19325820/installing-ensime-for-scala-development-on-emacs-sbt-resolveexception-unresolv

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!