I am working on a scala project that uses sbt 1.7.1
The project has its external dependencies like the database etc. that run in docker.
I'm not sure what started the issue exactly, but now when I try and go into sbt console
I get this error:
[info] [launcher] getting org.scala-sbt sbt 1.7.1 (this may take some time)...
[error] [launcher] java.nio.file.FileSystemException: /root: Read-only file system
[error] [launcher] could not retrieve sbt 1.7.1
Earlier I was able to get into sbt console, but during compilation I got this error: (I deleted the ~/.sbt folder to start over, that is when I can't even get into sbt console now)
sbt compile
[info] welcome to sbt 1.7.1 (Azul Systems, Inc. Java 11.0.10)
[info] loading settings for project app-backend-build from plugins.sbt ...
[info] loading project definition from /Users/username123/dev/git/project123/app-backend/project
[error] java.nio.file.FileSystemException: /root: Read-only file system
[error] at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:100)
[error] at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111)
[error] at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:116)
[error] at java.base/sun.nio.fs.UnixFileSystemProvider.createDirectory(UnixFileSystemProvider.java:389)
[error] at java.base/java.nio.file.Files.createDirectory(Files.java:690)
[error] at java.base/java.nio.file.Files.createAndCheckIsDirectory(Files.java:797)
[error] at java.base/java.nio.file.Files.createDirectories(Files.java:783)
[error] at lmcoursier.internal.shaded.coursier.paths.Util.createDirectories(Util.java:81)
[error] at lmcoursier.internal.shaded.coursier.paths.CachePath.withStructureLock(CachePath.java:140)
[error] at lmcoursier.internal.shaded.coursier.cache.CacheLocks$.withStructureLock(CacheLocks.scala:20)
[error] at lmcoursier.internal.shaded.coursier.cache.CacheLocks$.withLockOr(CacheLocks.scala:37)
[error] at lmcoursier.internal.shaded.coursier.cache.internal.Downloader$Blocking$.remote(Downloader.scala:408)
[error] at lmcoursier.internal.shaded.coursier.cache.internal.Downloader.$anonfun$remote$5(Downloader.scala:510)
[error] at scala.concurrent.Future$.$anonfun$apply$1(Future.scala:659)
[error] at scala.util.Success.$anonfun$map$1(Try.scala:255)
[error] at scala.util.Success.map(Try.scala:213)
[error] at scala.concurrent.Future.$anonfun$map$1(Future.scala:292)
[error] at scala.concurrent.impl.Promise.liftedTree1$1(Promise.scala:33)
[error] at scala.concurrent.impl.Promise.$anonfun$transform$1(Promise.scala:33)
[error] at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:64)
[error] at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
[error] at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
[error] at java.base/java.lang.Thread.run(Thread.java:834)
[error] (update) java.nio.file.FileSystemException: /root: Read-only file system
[warn] Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore? (default: r)
If I go into a different folder, and try and create a new sbt project I get the same error:
sbt new scala/scala-seed.g8
I am using sdkman for my sbt installation, I deleted the .sbt
folder and uninstalled sbt 1.7.1 and then re-installed it...that didn't help.
It seems as though some process has locked something related to sbt or coursier cache?
My project does have multiple modules, i'm not sure what root
means in the error message.. the root project or some root folder that coursier might be using?
My sbt project was running fine earlier today, and now I cannot do anything related to scala on my system that uses sbt.
My system is running OSX, 13.0.1 (22A400). Java home: ~/.jabba/jdk/zulu@1.11.0/Contents/Home
I just tried deleting the coursier cache and no change:
rm -Rf ~/Library/Caches/Coursier
That sbt console would run and compile the project.