卡在docker ubuntu的命令“sbt compile”中

我尝试将sbt包含在泊坞窗图像中。 然而,它永远不会工作,总是坚持Getting org.scala-sbt sbt 0.13.7 ...此外,它也不能改变sbt版本。

这是docker文件的片段

从Ubuntu的:14.04

 RUN echo "deb https://dl.bintray.com/sbt/debian /" | sudo tee -a /etc/apt/sources.list.d/sbt.list RUN sudo apt-get update RUN sudo apt-get install sbt //also I used force--yes 

另外,我尝试通过使用手动将它安装在容器上

 wget http://dl.bintray.com/sbt/debian/sbt-0.13.5.deb sudo apt-get update sudo dpkg -i sbt-0.13.5.deb 

当我运行sbt compile ,它也坚持尝试Getting org.scala-sbt ...

但它正在为sbt --version工作

基本上,我不知道为什么要尝试Getting org.scala-sbt ...

您将需要用于SBT的Java虚拟机,所以我认为从java官方docker镜像开始是一个很好的想法。 这是一个基本的docker文件,它使用官方的ubuntu安装方法:

 FROM java RUN echo "deb http://dl.bintray.com/sbt/debian /" | tee -a /etc/apt/sources.list.d/sbt.list RUN apt-key update RUN apt-get update RUN apt-get -y --force-yes install sbt 

注意:– --force-yes必须在那里,因为它不是经过身份validation的软件包。 我尝试添加RUN apt-key update ,但这并没有什么不同,所以你可以省略这一行。

然后,build立一个testing图像: docker build -t test/sbt . ,创build一个交互式的容器docker run -i -t test/sbt sbt并且玩它。

这对我有用,但是我注意到启动SBT的下载时间很慢,所以请耐心等待。

这是因为SBT可执行文件本身非常轻而且会在第一次运行时抓取一堆库来完成任务。 这也是SBT使用多个SBT版本支持多个项目的一种方式。 如果您遇到图书馆解决scheme,请检查您的networkingconfiguration。 对于SBT错误,它们大多数都是在命令行上打印的,但是如果需要,可以configuration日志logging 。

你需要弄清楚什么是添加你的项目文件,并发出一个compile命令来testing它。

如果项目需要比当前安装的sbt版本更高的版本,sbt将尝试下载更高版本的本身。 通常有一个{projectFolder} /project/build.properties指定一个sbt项目所需的sbt版本。 例如: sbt.version=0.13.7需要版本0.13.7

你好像被困在Getting org.scala-sbt sbt 0.13.7 ... 但我相信sbt实际上是试图将0.13.7下载到你的本地。 由于软件包不是很小,这取决于您的networking速度,可能需要一段时间。

这也可能是networking连接问题,防止下载其包。 因此,您可以尝试先validation您的networking连接是否不成问题。

如果你的networking没问题,你可以尝试的另一种方法是去sbt网站手动下载0.13.7软件包到你的docker并按照你可以从sbt站点find的说明安装它。

希望这可以帮助。

有时候在下载文件时卡住了。 您可以定期检查大小〜/ .ivy2文件夹,如果大小不增长踢进程和重新运行sbt。

对我来说,只有5踢后才能下载所有的文件!