磨坊:失败解决AmmoniteReplIvyDeps
Posted
技术标签:
【中文标题】磨坊:失败解决AmmoniteReplIvyDeps【英文标题】:mill: Failed resolvedAmmoniteReplIvyDeps 【发布时间】:2021-11-27 17:34:05 【问题描述】:我在build.src
中有以下非常简单的模块定义
import mill._
import mill.bsp.BSP.millSourcePath
import mill.scalalib.JavaModule, ScalaModule
object scalaMod0 extends ScalaModule
override def scalaVersion = "2.13.6"
Mill 版本为 0.9.9
然后我尝试运行
mill show scalaMod0.resolvedAmmoniteReplIvyDeps
1/1] show interp.watchValue millSourcePath: /home/jk/workspace.exp/hands-on-scala/mill01
[1/1] show > [9/9] scalaMod0.resolvedAmmoniteReplIvyDeps | Downloading [2/2] artifacts (~0/0 bytes)
1 targets failed
show 1 targets failed
scalaMod0.resolvedAmmoniteReplIvyDeps
Resolution failed for 1 modules:
--------------------------------------------
com.lihaoyi:ammonite_2.13.6:2.3.8-65-0f0d597f
not found: /home/jk/.ivy2/local/com.lihaoyi/ammonite_2.13.6/2.3.8-65-0f0d597f/ivys/ivy.xml
not found: https://repo1.maven.org/maven2/com/lihaoyi/ammonite_2.13.6/2.3.8-65-0f0d597f/ammonite_2.13.6-2.3.8-65-0f0d597f.pom
https://repo1.maven.org/maven2/com/lihaoyi/ammonite_2.13.6的内容如下:
com/lihaoyi/ammonite_2.13.6
../
2.3.8-122-9be39deb/ 2021-05-17 21:19 -
2.3.8-123-0b9a8c9b/ 2021-05-18 14:20 -
2.3.8-124-2da846d2/ 2021-05-19 04:57 -
2.3.8-125-f6bb1cf9/ 2021-06-08 13:15 -
2.3.8-67-4b6c67db/ 2021-05-17 19:50 -
2.4.0/ 2021-06-08 13:25 -
2.4.0-10-40f87721/ 2021-07-27 12:49 -
2.4.0-11-5b9ff5e7/ 2021-07-27 12:57 -
2.4.0-12-69f45b4b/ 2021-07-27 13:05 -
2.4.0-13-6ffcb9ff/ 2021-07-30 16:49 -
2.4.0-14-4824b429/ 2021-08-02 15:59 -
2.4.0-17-6dbd7856/ 2021-08-30 14:06 -
2.4.0-18-12c9e33e/ 2021-09-01 15:35 -
2.4.0-19-f4790b61/ 2021-09-01 16:24 -
2.4.0-20-f3d8171f/ 2021-09-09 16:33 -
2.4.0-22-a70409dc/ 2021-09-09 23:09 -
2.4.0-23-76673f7f/ 2021-09-16 16:30 -
2.4.0-5-534c9436/ 2021-07-15 18:25 -
2.4.0-6-426d8ae5/ 2021-07-27 10:13 -
2.4.0-9-0017ff97/ 2021-07-27 11:59 -
maven-metadata.xml 2021-09-16 16:32 1175
maven-metadata.xml.md5 2021-09-16 16:32 32
maven-metadata.xml.sha1 2021-09-16 16:32 40
maven-metadata.xml.sha256 2021-09-16 16:32 64
maven-metadata.xml.sha512 2021-09-16 16:32 128
所以请求的目录2.3.8-65-0f0d597f
不存在。
我该如何解决这个问题?
2.3.8-65-0f0d597f
在哪里配置或选择?为什么 Mill 想要这个不存在的菊石版本?
当我启动本地安装的 ammonite 时,它会显示以下版本信息:
amm
Loading...
Welcome to the Ammonite Repl 2.2.0 (Scala 2.13.3 Java 11.0.11)
感谢您的帮助!
【问题讨论】:
【参考方案1】:这已在工厂讨论论坛 (https://github.com/com-lihaoyi/mill/discussions/1396) 中讨论过。
我在这里主要引用一个改编版本:
默认情况下,Mill 会选择其内部使用的相同菊石版本。但是由于 ammonite 版本需要匹配完整的 Scala 版本,并且预选的 ammonite 版本 (2.3.8-65-0f0d597f
) 没有为 Scala 2.13.6
发布,因此您需要通过覆盖 def ammoniteVersion
来指定另一个 ammonite 版本。
例如:
import mill._
import mill.scalalib.ScalaModule
object scalaMod0 extends ScalaModule
override def scalaVersion = "2.13.6"
override def ammoniteVersion = "2.4.0"
// ...
【讨论】:
谢谢!它成功了。可能这个“def ammoniteVersion”在工厂文档中也值得一提。 我创建了一个拉取请求:github.com/com-lihaoyi/mill/pull/1533以上是关于磨坊:失败解决AmmoniteReplIvyDeps的主要内容,如果未能解决你的问题,请参考以下文章