我有很多项目使用SBT 0.13,但我目前正在运行SBT 0.12,并带有特定的全局插件。有没有办法在我的机器上同时使用这两个版本?
一般来说,需要考虑以下几点:
- 使用的启动器版本。sbt 0.13发射器应该支持sbt 0.12的构建,但由于JLine的变化,0.12发射器不能使用sbt 0.13的构建
-
全局插件。默认情况下,sbt 0.13的全局插件应位于
~/.sbt/0.13/
中。然而,为了兼容性,0.13也必须从普通~/.sbt/
读取。一个解决方案是将0.12启动脚本更改为在~/.sbt/0.12/
中查找。例如:java-Dsbt.global.base=/home/user/.sbt/0.12/…
-
sbt 0.13修复了几个Ivy缓存问题,但由于sbt 0.12,它无法始终检测到损坏。