我最近在Windows XP SP3机器上安装了SBT以开始使用Scala。当我最初启动它时,它开始从远程位置抓取所有JAR - 非常像Maven或任何其他依赖管理工具。
但是,每当我更改目录并启动sbt
时,它都会再次开始下载整个解决方案。有没有办法维护一个全局缓存,工件只下载一次,而不是每次我更改工作目录?
答案 0 :(得分:7)
如果在新目录中运行相同版本的sbt,它将首先查看本地ivy2缓存。它仍将检查所有资源,但如果它们已经存在,将在本地获取。
但是,如果您使用SBT附加功能,如果您更改为不同版本的SBT,它可能会重新下载,因为它会为每个版本创建一个缓存。这是我在任何情况下在Ubuntu上的经历。
您可能遇到过的是某些类型的sbt插件,例如sbt-idea,可能会下载其他资源,例如源存储库和文档。
答案 1 :(得分:1)
就我而言(Debian),每次运行sbt
时,它都会从Getting org.scala-sbt sbt 0.13.16
获取文件。我没有本地ivy2
捕获。解决方案只是将.ivy2
中的/root
文件夹复制到您的用户主页/home/username
,并授予用户访问权限。