磨机:失败解决 AmmoniteReplIvyDeps

mill: Failed resolvedAmmoniteReplIvyDeps

我在 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是在哪里配置或选择的?为什么米尔想要这个不存在的菊石版本?

当我启动本地安装的 ammonite 时,它​​显示以下版本信息:

amm
Loading...
Welcome to the Ammonite Repl 2.2.0 (Scala 2.13.3 Java 11.0.11)

感谢您的帮助!

这已在工厂讨论论坛 (https://github.com/com-lihaoyi/mill/discussions/1396) 中讨论过。

我在这里主要引用改编版本:

默认情况下,Mill 将选择其内部使用的相同菊石版本。但由于 ammonite 版本需要与完整的 Scala 版本相匹配,而预先选择的 ammonite 版本 (2.3.8-65-0f0d597f) 并未针对 Scala 2.13.6 发布,因此您需要通过覆盖 [=13] 来指定另一个 ammonite 版本=].

例如:

import mill._
import mill.scalalib.ScalaModule

object scalaMod0 extends ScalaModule {
  override def scalaVersion = "2.13.6"
  override def ammoniteVersion = "2.4.0"
  // ...
}