|
| 1 | +--- |
| 2 | +layout: blog-detail |
| 3 | +post-type: blog |
| 4 | +by: Sébastien Doeraene |
| 5 | +title: "One-click install for Scala" |
| 6 | +--- |
| 7 | + |
| 8 | +Installing Scala has always been a task more challenging than necessary, with the potential to drive away beginners. |
| 9 | +Should I install Scala itself? sbt? Some other build tools? What about a better REPL like Ammonite? Oh and before all that I need to install Java? |
| 10 | + |
| 11 | +To solve this problem, the Scala Center contracted Alexandre Archambault in January 2020 to add a one-click install of Scala to [coursier](https://get-coursier.io/). |
| 12 | +Starting today, [the main Scala download page](/download/) gives one-liner command lines incantations (and a one-click executable for Windows) to fully install Scala and all the main related tools. |
| 13 | +For example, on Linux, all we now need is: |
| 14 | + |
| 15 | +```bash |
| 16 | +$ curl -Lo cs https://git.io/coursier-cli-linux && chmod +x cs && ./cs setup |
| 17 | +``` |
| 18 | + |
| 19 | +which will install all the following software, if not yet installed: |
| 20 | + |
| 21 | +* a JDK |
| 22 | +* the build tools [sbt](https://www.scala-sbt.org/) and [mill](https://www.lihaoyi.com/mill/) |
| 23 | +* the [Ammonite](https://ammonite.io/) enhanced REPL |
| 24 | +* [scalafmt](https://scalameta.org/scalafmt/), the Scala formatter |
| 25 | +* the [coursier](https://get-coursier.io/) CLI, to install further Scala-based applications |
| 26 | +* the `scala` and `scalac` command-line tools |
| 27 | + |
| 28 | +With all those installed, we are ready to go! |
| 29 | + |
| 30 | +The download page then proceeds with two suggestions for IDEs: IntelliJ or VS Code with Metals. |
| 31 | + |
| 32 | +For power users, [the `cs setup` command](https://get-coursier.io/docs/cli-setup) offers more configuration options, such as a non-interactive mode. |
| 33 | + |
| 34 | +With this new simple, all-encompassing installer, we at the Scala Center hope to significantly reduce the burden of getting started with Scala. |
0 commit comments