LinuxCommandLibrary

cs

Scala artifact fetcher and application launcher

TLDR

Install a Scala application

$ cs install [scala]
copy
Launch an application by artifact coordinates
$ cs launch [org.scalameta::metals:latest.stable]
copy
Resolve dependencies for an artifact
$ cs resolve [org.typelevel::cats-core:2.9.0]
copy
Fetch JARs for dependencies
$ cs fetch [com.lihaoyi::ammonite:2.5.9]
copy
Update installed applications
$ cs update
copy
List installed applications
$ cs list
copy
Setup Coursier (install default apps)
$ cs setup
copy

SYNOPSIS

cs command [options] [arguments]

DESCRIPTION

Coursier (cs) is a Scala artifact fetcher and application launcher. It resolves Maven and Ivy dependencies, downloads artifacts, and can launch JVM applications directly from their coordinates without manual installation.
The tool provides fast, parallel downloads with caching. It can install and manage Scala ecosystem tools like sbt, scala, ammonite, and scalafmt. The setup command configures a complete Scala development environment.
Coursier handles complex dependency resolution, including version conflict resolution and exclusions. It integrates with the Scala ecosystem as the recommended way to install Scala tooling and is used by sbt for dependency management.

PARAMETERS

install APP

Install an application from the default channels.
launch COORDS
Launch an application by Maven coordinates.
resolve COORDS
Resolve and display dependency tree.
fetch COORDS
Download artifacts for dependencies.
update
Update all installed applications.
list
List installed applications.
setup
Initial setup, installing common Scala tools.
uninstall APP
Remove an installed application.
java
Manage Java installations.
--channel URL
Add a custom application channel.
-r REPO
Add a custom Maven repository.

CAVEATS

Requires Java Runtime Environment. First runs download dependencies which takes time. Application channels may have varying update frequencies. Large dependency trees can consume significant disk space in the cache.

HISTORY

Coursier was created by Alexandre Archambault and first released around 2015. It became the official installation method for Scala tools in 2020. The tool addresses Java/Scala's dependency management complexity with fast, reliable artifact resolution.

SEE ALSO

scala(1), sbt(1), java(1), mvn(1)

> TERMINAL_GEAR

Curated for the Linux community

Copied to clipboard

> TERMINAL_GEAR

Curated for the Linux community