在windows环境搭建scala环境需要用到sbt,在安装完sbt后首次使用下载sbt应用程序时长时间卡在这一步,网上有两种解决方式:1. 网络代理;2. 国内镜像。
网络代理方式尝试了很多次,均不成功。国内镜像方式同样网上出现了大量帖子列举国内镜像网站,要不然是已过期网站,要不然无法访问。
通过自己摸索找出解决办法:
1. 我的sbt安装路径为:D:\Program Files\SpinalHDL\sbt
![](https://img-blog.csdnimg.cn/987415b9e1fb4aa6ad37bd7cff4cd6dd.png)
2.conf路径下打开sbtconfig.txt并修改如下
# sbt configuration file for Windows
# Set the java args
#-mem 1024 was added in sbt.bat as default
#-Xms1024m
#-Xmx1024m
#-Xss4M
#-XX:ReservedCodeCacheSize=128m
# Set the extra sbt options
# -Dsbt.log.format=true
-Dsbt.boot.directory=C:/sbt/.sbt/boot
-Dsbt.global.base=C:/sbt/.sbt
-Dsbt.ivy.home=C:/sbt/.ivy2
-Dsbt.repository.config=C:/sbt/properties
-Dsbt.repository.secure=true
-Dsbt.override.build.repos=true
上面出现的配置都指向了C盘,也可以换其他路径。但路径总长尽量短,长路径有问题。
3.C:/sbt/properties文件修改为国内镜像
[repositories]
local
aliyun-nexus: https://maven.aliyun.com/repository/public/
ibiblio-maven: https://maven.ibiblio.org/maven2/
typesafe-ivy: https://dl.bintray.com/typesafe/ivy-releases/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]
uk-repository: https://uk.maven.org/maven2/
jboss-repository: https://repository.jboss.org/nexus/content/groups/public/
typesafe: https://repo.typesafe.com/typesafe/ivy-releases/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext], bootOnly
sonatype-oss-releases
maven-central
sonatype-oss-snapshots
4.以管理员身份运行Windows PowerShell
路径切换到scala project路径,路径下存在build.sbt文件
name := "test"
scalaHome := Some(file("D:\\Program Files\\SpinalHDL\\scala"))
ThisBuild / version := "0.1.0-SNAPSHOT"
ThisBuild / scalaVersion := "2.12.17"
val spinalVersion = "1.6.0"
val spinalCore = "com.github.spinalhdl" %% "spinalhdl-core" % spinalVersion
val spinalLib = "com.github.spinalhdl" %% "spinalhdl-lib" % spinalVersion
val spinalIdslPlugin = compilerPlugin("com.github.spinalhdl" %% "spinalhdl-idsl-plugin" % spinalVersion)
lazy val mylib = (project in file("."))
.settings(
name := "demo0509",
libraryDependencies ++= Seq(spinalCore, spinalLib, spinalIdslPlugin)
)
fork := true