首页 > 解决方案 > 在 SBT 源上运行 `publishLocalAllModule` 说 `zinc` 的`crossScalaVersions is undefined`

问题描述

下载 SBT 源并运行 SBT shell 后:

$ mkdir sbt-modules
$ cd sbt-modules
$ for i in sbt io util librarymanagement zinc; do \
  git clone https://github.com/sbt/$i.git && (cd $i; git checkout -b develop origin/develop)
done
$ cd sbt
$ ./sbt-allsources.sh

当我发布时,我收到以下错误:

sbt:sbtRoot> publishLocalAllModule
[error] java.lang.RuntimeException: ProjectRef(uri("file:/Users/nhooey/git/github/sbt/zinc/"), "compilerBridge") / ./ ./ crossScalaVersions is undefined.
[error]         at scala.sys.package$.error(package.scala:27)
[error]         at sbt.Extracted.$anonfun$getOrError$1(Extracted.scala:119)
[error]         at scala.Option.getOrElse(Option.scala:121)
[error]         at sbt.Extracted.getOrError(Extracted.scala:119)
[error]         at sbt.Extracted.getOrError(Extracted.scala:124)
[error]         at sbt.Extracted.get(Extracted.scala:34)
[error]         at $127b0bc6e7d0db0357c4$.$anonfun$customCommands$18(build.sbt:803)
[error]         at scala.Option.map(Option.scala:146)
[error]         at $127b0bc6e7d0db0357c4$.$anonfun$customCommands$10(build.sbt:801)
[error]         at sbt.Command$.$anonfun$command$2(Command.scala:91)
[error]         at sbt.Command$.process(Command.scala:181)
[error]         at sbt.MainLoop$.processCommand(MainLoop.scala:151)
[error]         at sbt.MainLoop$.$anonfun$next$2(MainLoop.scala:139)
[error]         at sbt.State$$anon$1.runCmd$1(State.scala:246)
[error]         at sbt.State$$anon$1.process(State.scala:250)
[error]         at sbt.MainLoop$.$anonfun$next$1(MainLoop.scala:139)
[error]         at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:16)
[error]         at sbt.MainLoop$.next(MainLoop.scala:139)
[error]         at sbt.MainLoop$.run(MainLoop.scala:132)
[error]         at sbt.MainLoop$.$anonfun$runWithNewLog$1(MainLoop.scala:110)
[error]         at sbt.io.Using.apply(Using.scala:22)
[error]         at sbt.MainLoop$.runWithNewLog(MainLoop.scala:104)
[error]         at sbt.MainLoop$.runAndClearLast(MainLoop.scala:59)
[error]         at sbt.MainLoop$.runLoggedLoop(MainLoop.scala:44)
[error]         at sbt.MainLoop$.runLogged(MainLoop.scala:35)
[error]         at sbt.StandardMain$.runManaged(Main.scala:138)
[error]         at sbt.xMain.run(Main.scala:89)
[error]         at xsbt.boot.Launch$$anonfun$run$1.apply(Launch.scala:109)
[error]         at xsbt.boot.Launch$.withContextLoader(Launch.scala:128)
[error]         at xsbt.boot.Launch$.run(Launch.scala:109)
[error]         at xsbt.boot.Launch$$anonfun$apply$1.apply(Launch.scala:35)
[error]         at xsbt.boot.Launch$.launch(Launch.scala:117)
[error]         at xsbt.boot.Launch$.apply(Launch.scala:18)
[error]         at xsbt.boot.Boot$.runImpl(Boot.scala:56)
[error]         at xsbt.boot.Boot$.main(Boot.scala:18)
[error]         at xsbt.boot.Boot.main(Boot.scala)
[error] ProjectRef(uri("file:/Users/nhooey/git/github/sbt/zinc/"), "compilerBridge") / ./ ./ crossScalaVersions is undefined.
[error] Use 'last' for the full log.

这是之后:

  1. ~/.sbt递归删除我的目录
  2. 运行git clean -dfx以删除每个 SBT 存储库中所有未跟踪和忽略的文件

sbt/sbt这是当我运行上面的循环时签出的项目的分支的负责人for,我刚才做了:

*   commit 550c068b9829f8b691f046e87cd1023d87735973 (HEAD -> develop, origin/develop, origin/HEAD)
|\  Merge: a8e319e97 b47ca1b9e
| | Author: eugene yokota <eed3si9n@gmail.com>
| | Date:   Wed Sep 19 23:19:16 2018 -0400
| |
| |     Merge pull request #4369 from eed3si9n/wip/task-sequential
| |
| |     Implement sequential[B](tasks: Seq[Initialize[Task[B]]])

标签: sbt

解决方案


推荐阅读