Where communities thrive

  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
Repo info
  • Oct 22 15:18

    alexarchambault on gh-pages

    Update website (compare)

  • Oct 22 14:38
    alexarchambault synchronize #2239
  • Oct 22 14:37

    alexarchambault on master

    Minor refacto Update GraalVM to 21.3.0 Merge pull request #2238 from a… (compare)

  • Oct 22 14:37
    alexarchambault closed #2238
  • Oct 22 14:37
    alexarchambault synchronize #2239
  • Oct 22 14:18
    alexarchambault opened #2239
  • Oct 22 14:17
    alexarchambault opened #2238
  • Oct 22 14:14
    alexarchambault synchronize #2237
  • Oct 22 14:04
    alexarchambault opened #2237
  • Oct 22 13:27

    alexarchambault on gh-pages

    Update website (compare)

  • Oct 22 13:24

    alexarchambault on gh-pages

    Update website (compare)

  • Oct 22 12:50

    alexarchambault on master

    Update tools to 0.4.1 (#2236) (compare)

  • Oct 22 12:50
    alexarchambault closed #2236
  • Oct 22 12:50

    alexarchambault on master

    Update jsoniter-scala-core to 2… (compare)

  • Oct 22 12:50
    alexarchambault closed #2235
  • Oct 22 12:50
    alexarchambault commented #2231
  • Oct 22 09:38
    sjrd commented #2059
  • Oct 22 09:30
    matejsarlija commented #2059
  • Oct 21 22:18
    scala-steward opened #2236
  • Oct 21 14:15
    scala-steward opened #2235
Piotr Gabara

Hi, I use sbt through coursier and when I try to run it with '-mem' parameter I got an error.

Here is what I get:

[error] Expected symbol
[error] Not a valid command: -
[error] Expected end of input.
[error] Expected '--'
[error] Expected 'debug'
[error] Expected 'info'
[error] Expected 'warn'
[error] Expected 'error'
[error] Expected 'addPluginSbtFile'
[error] -mem
[error]  ^

Do you have any idea how to fix it?

Raul Rodriguez
Trying to update Coursier to test scala3 was very frustrating, I tried cs install cs and got the same error. I don't understand why this keeps failing as this is the recommended way to install scala3. I'm going back to sbt for now. Is somebody able to help:
cs update cs
Exception in thread "main" java.lang.Exception: Reading /Users/raul/Library/Application Support/Coursier/bin/cs
    at coursier.install.InfoFile$.readSource(InfoFile.scala:64)
    at coursier.install.InstallDir.$anonfun$maybeUpdate$3(InstallDir.scala:403)
    at coursier.install.InstallDir.$anonfun$maybeUpdate$3$adapted(InstallDir.scala:396)
    at coursier.util.Task$.$anonfun$flatMap$extension$1(Task.scala:14)
    at coursier.util.Task$.$anonfun$flatMap$extension$1$adapted(Task.scala:14)
    at coursier.util.Task$.wrap(Task.scala:84)
    at coursier.util.Task$.$anonfun$flatMap$2(Task.scala:14)
    at scala.concurrent.Future.$anonfun$flatMap$1(Future.scala:307)
    at scala.concurrent.impl.Promise.$anonfun$transformWith$1(Promise.scala:41)
    at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:64)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.lang.Thread.run(Thread.java:834)
    at com.oracle.svm.core.thread.JavaThreads.threadStartRoutine(JavaThreads.java:517)
    at com.oracle.svm.core.posix.thread.PosixJavaThreads.pthreadStartRoutine(PosixJavaThreads.java:193)
Caused by: java.util.zip.ZipException: zip END header not found
    at java.util.zip.ZipFile$Source.zerror(ZipFile.java:1535)
    at java.util.zip.ZipFile$Source.findEND(ZipFile.java:1436)
    at java.util.zip.ZipFile$Source.initCEN(ZipFile.java:1443)
    at java.util.zip.ZipFile$Source.<init>(ZipFile.java:1274)
    at java.util.zip.ZipFile$Source.get(ZipFile.java:1237)
    at java.util.zip.ZipFile$CleanableResource.<init>(ZipFile.java:727)
    at java.util.zip.ZipFile$CleanableResource.get(ZipFile.java:55)
    at java.util.zip.ZipFile.<init>(ZipFile.java:247)
    at java.util.zip.ZipFile.<init>(ZipFile.java:177)
    at java.util.zip.ZipFile.<init>(ZipFile.java:191)
    at coursier.install.InfoFile$.readSource(InfoFile.scala:45)
    ... 14 more
Btw, this happened in MacOS Catalina
Bjorn Regnell
@raul782 As a fallback you can just download https://github.com/lampepfl/dotty/releases/download/3.0.0/scala3-3.0.0.zip and put the extracted files in e.g. ~/scala3 and put the ~/scala3/bin on your path and you are ready to go. But perhaps it does not work if the above error is a symptom of problems with Java installation, then I'd recommend you to install JDK 11 from here https://adoptopenjdk.net/
Russ White
I am trying to install aarch64 jvm on my mac mini m1 - any tips on how to do that with coursier?
I see it exists in the index - but I don't know how to indicate that it should be installed:
cs java --jvm zulu:16 --setup installs the x64 version
Eric K Richardson
I would go with 11 or 8 though if you are doing Scala type stuff.
Hanns Holger Rutz
if I want to run Versions() without any cache checks, what's the best idea? FileCache(...).withTtl(0.minutes) is that something reasonable, or ... ?
Bjorn Regnell
When I read the docs here https://get-coursier.io/docs/cli-installation I get the impression that coursier should fix my path. But when I follow the instructions it only prints a message that I should do it myself. Can coursier patch my path? If not then that page should perhaps be clarified so it is obvious that I need to do this myself. (I'm currently considering using cs for my beginner programmer students and unfortunately I think the instructions are a bit intimidating for a beginner so if we are going use cs I need to give them something easier to follow that does not assume any deeper knowledge of cmd/bash/terminal/console/powershell... etc)
Bjorn Regnell
Does anyone know how cs can install a scala3 runner? WIth the instructions here https://www.scala-lang.org/download/scala3.html you get scala3-compile and scala3-repl on your path but not any scala3 runner on your path to run your compiled programs. So how to run your programs compiled with cs scala3-compiler?
Bjorn Regnell
Damian Reeves
Hey, the coursier command line doesn’t seem to be picking up things like HTTP_PROXY I know I can pass in these options using the -J-D command line options but is there a file that both the coursier command line and coursier as a library uses to load these settings?
Eric K Richardson

I think it should look for JAVA_OPTS env var to find the Java -DhttpProxy... stuff but I couldn't find it looking for that in the CLI code.

I am no authority because I could even get the build to work because I started to look into this. I found a specific thing coursier or bloop couldn't do related to redirect and a proxy with basic auth.


Damian Reeves
thanks for the info
Eric K Richardson
I feel like JAVA_OPTS works most of the time. Some Scala tools miss a few of the edge cases.
Matt Hughes
What is cs list supposed to do? The help does not give much help. I was thinking it would list the things I've installed with coursier but it throws an exception without any arguments.
Bjorn Regnell
@matthughes I guess cs list was supposed to do that, but it perhaps never got implemented.
Someone needs to implement proper help screens (unless it's been done since I last checked)
Bjorn Regnell
There is experimental work on improved scala runners going on here: https://github.com/dwijnand/scala-runners
Chris Kipp
cs list should show you all your installed applications
cs list
Bjorn Regnell
yeah, but it would be nice to see what version of each...
Tobias Roeser
@alexarchambault Coursier uses the following version pattern for snapshot releases: major.minor.patch+commitcount-hash. Is there any benefit over the one used by mill: major.minor.patch-commitcount-hash?
Does it behave better in version ordering?
E.g. in Maven the minus between the version and the rest results in ordering the snapshot release before the patch release
Is the plus different and thus the better option?
Hi all, any plan to cut a new release? I have an issue with sbt but it's blocked by a merged PR in coursier :) coursier/coursier#2055
Ramiro Calle
Hi @ckipp:matrix.org, there is cs search command coming up. coursier/coursier#2007
Chris Kipp
I know you can bootstrap with coursier and pass in --java-opt to give it options to run with, but is there a way to pass them in when calling the actual script that bootstrap creates?
or at that point is it just too late?
Geoffrey Knauth
I did cs update on a win10 system and now I have lots of .bat.bat.bat files, is this normal? If not, how do I fix this?
   31821 08-13 06:35 scalafmt.bat.bat.bat.bat.bat.bat.bat
   31821 08-13 06:35 scalafmt.bat.bat.bat.bat.bat.bat
   31821 08-13 06:35 scalafmt.bat.bat.bat.bat.bat
   31821 08-13 06:35 scalafmt.bat.bat.bat.bat
   31821 08-13 06:35 scalafmt.bat.bat.bat
   31821 08-13 06:35 scalafmt.bat.bat
   30260 08-13 06:35 scalac.bat.bat.bat.bat.bat.bat.bat
   30260 08-13 06:35 scalac.bat.bat.bat.bat.bat.bat
   30260 08-13 06:35 scalac.bat.bat.bat.bat.bat
   30260 08-13 06:35 scalac.bat.bat.bat.bat
   30260 08-13 06:35 scalac.bat.bat.bat
   30260 08-13 06:35 scalac.bat.bat
   30278 08-13 06:35 scala.bat.bat.bat.bat.bat.bat.bat
   30278 08-13 06:35 scala.bat.bat.bat.bat.bat.bat
   30278 08-13 06:35 scala.bat.bat.bat.bat.bat
   30278 08-13 06:35 scala.bat.bat.bat.bat
   30278 08-13 06:35 scala.bat.bat.bat
   30278 08-13 06:35 scala.bat.bat
   32402 08-13 06:35 sbt.bat.bat.bat.bat.bat.bat.bat
   35114 08-13 06:35 metals.bat.bat
   35154 08-13 06:35 metals-emacs.bat.bat
    2571 08-13 06:35 cs.bat.bat.bat.bat.bat.bat.bat
    2571 08-13 06:35 cs.bat.bat.bat.bat.bat.bat
    2571 08-13 06:35 cs.bat.bat.bat.bat.bat
    2571 08-13 06:35 cs.bat.bat.bat.bat
    2571 08-13 06:35 cs.bat.bat.bat
    2571 08-13 06:35 cs.bat.bat
   33512 08-13 06:35 coursier.bat.bat.bat.bat.bat.bat.bat
   33512 08-13 06:35 coursier.bat.bat.bat.bat.bat.bat
   33512 08-13 06:35 coursier.bat.bat.bat.bat.bat
   33512 08-13 06:35 coursier.bat.bat.bat.bat
   33512 08-13 06:35 coursier.bat.bat.bat
   33512 08-13 06:35 coursier.bat.bat
    2560 08-13 06:35 bloop.bat.bat.bat.bat.bat.bat.bat
    2560 08-13 06:35 bloop.bat.bat.bat.bat.bat.bat
    2560 08-13 06:35 bloop.bat.bat.bat.bat.bat
    2560 08-13 06:35 bloop.bat.bat.bat.bat
    2560 08-13 06:35 bloop.bat.bat.bat
    2560 08-13 06:35 bloop.bat.bat
   35369 08-13 06:35 amm.bat.bat.bat.bat.bat.bat.bat
   35369 08-13 06:35 amm.bat.bat.bat.bat.bat.bat
   35369 08-13 06:35 amm.bat.bat.bat.bat.bat
   35369 08-13 06:35 amm.bat.bat.bat.bat
   35369 08-13 06:35 amm.bat.bat.bat
   35369 08-13 06:35 amm.bat.bat
   35154 08-13 06:35 metals-emacs.bat
   35114 08-12 16:57 metals.bat
58251264 03-11 08:18 .cs.bat.bat.bat.bat.bat.bat.aux.exe
58251264 03-11 08:18 .cs.bat.bat.bat.bat.bat.aux.exe
58251264 03-11 08:18 .cs.bat.bat.bat.bat.aux.exe
58251264 03-11 08:18 .cs.bat.bat.bat.aux.exe
58251264 03-11 08:18 .cs.bat.bat.aux.exe
58251264 03-11 08:18 .cs.bat.aux.exe
40077824 02-18 09:30 .bloop.bat.bat.bat.bat.bat.bat.aux.exe
40077824 02-18 09:30 .bloop.bat.bat.bat.bat.bat.aux.exe
40077824 02-18 09:30 .bloop.bat.bat.bat.bat.aux.exe
40077824 02-18 09:30 .bloop.bat.bat.bat.aux.exe
40077824 02-18 09:30 .bloop.bat.bat.aux.exe
40077824 02-18 09:30 .bloop.bat.aux.exe
   32402 2021-01-13  sbt.bat.bat.bat.bat.bat.bat
   32402 2021-01-12  sbt.bat.bat.bat.bat.bat
    2560 2021-01-12  bloop.bat
   32402 2021-01-12  sbt.bat.bat.bat.bat
   32402 2021-01-12  sbt.bat.bat.bat
   32402 2021-01-03  sbt.bat.bat
39602176 2020-12-03  .bloop.aux.exe
   31780 2020-05-26  scalafmt.bat
   30256 2020-05-26  scalac.bat
   30275 2020-05-26  scala.bat
   32389 2020-05-26  sbt.bat
   33438 2020-05-26  coursier.bat
    2576 2020-05-26  cs.bat
   32887 2020-05-26  amm.bat
       0 2020-05-26  ..
52687360 2020-05-25  .cs.aux.exe
Geoffrey Knauth
Answer to my own question above. I deleted all those files. Reinstalled coursier using cmd.exe per instructions (doesn't say why not to use PowerShell for that). Did that in a scratch directory. Then used that new coursier, in PowerShell, to reinstall the programs above without all the duplicates.
Saskia Gennrich

hello, I'm trying to build coursier, but it gives me an error, that it cannot find package dev.dirs. unfortunately this is my first time using mill, so I'm not sure if this is a mill issue or with my setup or with the mill script. I installed mill with cs install mill

[error] /home/saskia/projects/coursier/modules/paths/src/main/java/coursier/paths/CoursierPaths.java:7:1: package dev.dirs does not exist
[error] dev.dirs.GetWinDirs

I also used the ./mill script. same error.

I'm on ubuntu, in case that's important
Saskia Gennrich
ah. figured it out. I should initialize the git submodule
Saskia Gennrich
Hey, I created a pull request to support fish shell. I'm not entirely satisfied with it myself, but would like to get some feedback, where and in which direction I should improve it.
thank you.
Alessandro Vermeulen

I’m looking at #1649 and the snippet workaround works for update however it appears that the authentication is missing completely when using updateClassifiers. The downloaded files are also stored in the cache without a username in front of the directory name

How can I fix this? Is it a sbt thing?


Hi all, any plan to cut a new release? I have an issue with sbt but it's blocked by a merged PR in coursier :) coursier/coursier#2055

Hi @alexarchambault, any plan for a new Coursier release?

Piotr Jósiak

Hi! When I try to import shaded courier from sbt build files like import lmcoursier.internal.shaded.coursier.Resolution I get an error :

[error] /Users/piotrjosiak/scalac/rallyhealth/lib-arcade-commons/project/Test.scala:1:8: Symbol 'term <root>.coursier' is missing from the classpath.
[error] This symbol is required by ' <none>'.
[error] Make sure that term coursier is in your classpath and check for conflicting dependencies with `-Ylog-classpath`.
[error] A full rebuild may help if 'package.class' was compiled against an incompatible version of <root>.
[error] import lmcoursier.internal.shaded.coursier.core.Resolution
[error]        ^
[error] /Users/piotrjosiak/scalac/rallyhealth/lib-arcade-commons/project/Test.scala:4:14: Symbol 'term coursier.core' is missing from the classpath.
[error] This symbol is required by ' <none>'.
[error] Make sure that term core is in your classpath and check for conflicting dependencies with `-Ylog-classpath`.

I'm a little bit surprised, as cursier is present in the classpath (I guess it has to be as it's used by sbt anyway). Does anyone know what is going on?

Ondra Pelech
Hello, what are the Maven coordinates of the JAR that can do the functionality of coursier launch as its main method?
Hi, is there a way to know which dependency gets resolved when using wildcards? like for instance I would like to know to whatcs complete sh.almond:scala-kernel_2.12.8:0.11.+ resolves, but that's no valid syntax. However it's a valid syntax in the dependency declaration itself
Brian P. Holt

Does anyone have tips for getting cs complete version listing working with an internal Nexus Repository Manager 3 repository? I can’t tell if there’s something wrong with our setup or if I’m using the wrong URL or what, but I can’t figure out how to get it working.

For example, if I use Nexus’s REST API as the URL (e.g. https://hostname-redacted/service/rest/repository/browse/maven-central/), I can get completions for artifact IDs, but it shows a 404 when downloading the maven-metadata.xml file to discover what versions are available.

Brian P. Holt

Our Nexus instance is fronted by nginx for various reasons, but I was able to get cs complete working using this directive in nginx:

location ~ ^/repository/((?:maven|ivy)-[^/]+)((?:/[^/]+)*)/$ {
  proxy_pass http://nexus:8081/service/rest/repository/browse/$1$2/;

Basically rewriting the requests that Coursier makes to their corresponding endpoints in the Nexus REST API. This feels like a hack but it seems like it’s working so far. (We might find out through more use that it’s missing something or otherwise causes problems… time will tell)

Robert Bates

hi! i'm trying to install scala3 on macOS via homebrew, and when executing:
brew install coursier/formulas/coursier
i keep getting this error:

Error: Invalid formula: /usr/local/Homebrew/Library/Taps/coursier/homebrew-formulas/coursier.rb
coursier: Unsupported special dependency :java
Error: Cannot tap coursier/formulas: invalid syntax in tap!

any idea if this is from a recent update or is there some undocumented missing dep?

on the latest brew commit - 4e6919b73

latest version of bloop is 1.4.9, coursier installs bloop v1.4.8-114-e47368ed, vscode metals extension 1.10.11 requires bloop 1.4.9.

what is the usual turnaround time for coursier to catch up to latest bloop version?

Chris Kipp
coursier should be pulling in the latest, since the coursier/apps bloop.json` looks for the latest release artifact, and it's there
also keep in mind that you can do a bloop exit to shutdown bloop, and then open Metals, and metals will start the version of bloop it has reference to