---
layout: singlepage-overview
title: Начало работы
partof: getting-started
language: ru
includeTOC: true
newcomer_resources:
- title: Вы пришли с Java?
description: Что нужно знать, чтобы ускорить работу со Scala после первоначального запуска.
icon: "fa fa-coffee"
link: /tutorials/scala-for-java-programmers.html
- title: Scala в браузере
description: >
Чтобы сразу начать экспериментировать со Scala, используйте "Scastie" в своем браузере.
icon: "fa fa-cloud"
link: https://scastie.scala-lang.org/pEBYc5VMT02wAGaDrfLnyw
---
Приведенные ниже инструкции охватывают как Scala 3, так и Scala 2.
{% altDetails need-help-info-box 'Нужна помощь?' class=help-info %}
*Если у вас возникли проблемы с настройкой Scala, смело обращайтесь за помощью в канал `#scala-users`
[нашего Discord](https://discord.com/invite/scala).*
{% endaltDetails %}
## Ресурсы для новичков
{% include inner-documentation-sections.html links=page.newcomer_resources %}
## Установка Scala на компьютер
Установка Scala означает установку различных инструментов командной строки,
таких как компилятор Scala и инструменты сборки.
Мы рекомендуем использовать инструмент установки "Coursier",
который автоматически устанавливает все зависимости.
Также возможно установить по отдельности каждый инструмент вручную.
### Использование Scala Installer (рекомендованный путь)
Установщик Scala — это инструмент [Coursier](https://get-coursier.io/docs/cli-overview),
основная команда которого называется `cs`.
Он гарантирует, что в системе установлены JVM и стандартные инструменты Scala.
Установите его в своей системе, следуя следующим инструкциям.
{% tabs install-cs-setup-tabs class=platform-os-options %}
{% tab macOS for=install-cs-setup-tabs %}
Запустите в терминале следующую команду, следуя инструкциям на экране:
{% include code-snippet.html language='bash' codeSnippet=site.data.setup-scala.macOS-brew %}
{% altDetails cs-setup-macos-nobrew "В качестве альтернативы, если вы не используете Homebrew:" %}
{% include code-snippet.html language='bash' codeSnippet=site.data.setup-scala.macOS-x86-64 %}
{% endaltDetails %}
{% endtab %}
{% tab Linux for=install-cs-setup-tabs %}
Запустите в терминале следующую команду, следуя инструкциям на экране:
{% include code-snippet.html language='bash' codeSnippet=site.data.setup-scala.linux-x86-64 %}
{% endtab %}
{% tab Windows for=install-cs-setup-tabs %}
Загрузите и запустите [установщик Scala для Windows]({{site.data.setup-scala.windows-link}})
на базе Coursier и следуйте инструкциям на экране.
{% endtab %}
{% tab Иное for=install-cs-setup-tabs defaultTab %}
Следуйте документации Coursier о том,
[как установить и запустить `cs setup`](https://get-coursier.io/docs/cli-installation).
{% endtab %}
{% endtabs %}
{% altDetails testing-your-setup 'Тестирование установки' %}
Проверьте корректность установки с помощью команды `scala -version`, которая должна вывести:
```bash
$ scala -version
Scala code runner version: 1.4.3
Scala version (default): {{site.scala-3-version}}
```
Если сообщение не выдано, возможно, необходимо перезайти в терминал (или перезагрузиться),
чтобы изменения вступили в силу.
{% endaltDetails %}
Наряду с JVM `cs setup` также устанавливает полезные инструменты командной строки:
| Commands | Description |
|---------------|--------------------------------------------------------------------------------------|
| `scalac` | компилятор Scala |
| `scala` | Scala REPL и средство запуска сценариев |
| `scala-cli` | [Scala CLI](https://scala-cli.virtuslab.org), интерактивный инструментарий для Scala |
| `sbt`, `sbtn` | Инструмент сборки [sbt](https://www.scala-sbt.org/) |
| `amm` | [Ammonite](https://ammonite.io/) — улучшенный REPL |
| `scalafmt` | [Scalafmt](https://scalameta.org/scalafmt/) - средство форматирования кода Scala |
Дополнительная информация о cs [доступна по ссылке](https://get-coursier.io/docs/cli-overview).
> `cs setup` по умолчанию устанавливает компилятор и исполняющую программу Scala 3
> (команды `scalac` и `scala` соответственно). Независимо от того, собираетесь ли вы использовать Scala 2 или 3,
> обычно это не проблема, потому что в большинстве проектов используется инструмент сборки,
> который будет использовать правильную версию Scala независимо от того, какая версия установлена "глобально".
> Тем не менее, вы всегда можете запустить конкретную версию Scala, используя
> ```
> $ cs launch scala:{{ site.scala-version }}
> $ cs launch scalac:{{ site.scala-version }}
> ```
> Если предпочтительно, чтобы по умолчанию запускалась Scala 2, вы можете принудительно установить эту версию с помощью:
> ```
> $ cs install scala:{{ site.scala-version }} scalac:{{ site.scala-version }}
> ```
### ...или вручную
Для компиляции, запуска, тестирования и упаковки проекта Scala нужны только два инструмента:
Java 8 или 11 и sbt.
Чтобы установить их вручную:
1. если не установлена Java 8 или 11, загрузите Java из
[Oracle Java 8](https://www.oracle.com/java/technologies/javase-jdk8-downloads.html), [Oracle Java 11](https://www.oracle.com/java/technologies/javase-jdk11-downloads.html),
или [AdoptOpenJDK 8/11](https://adoptopenjdk.net/).
Подробную информацию о совместимости Scala/Java см. в разделе [Совместимость с JDK](/overviews/jdk-compatibility/overview.html).
1. установить [sbt](https://www.scala-sbt.org/download.html)
## Создание проекта "Hello World" с помощью sbt
В следующих разделах объясняется как создавать проект Scala после того, как установлен sbt.
Для создания проекта можно использовать командную строку или IDE.
Мы рекомендуем командную строку, если вы с ней знакомы.
### Использование командной строки
sbt — это инструмент сборки для Scala. sbt компилирует, запускает и тестирует Scala код
(он также может публиковать библиотеки и выполнять множество других задач).
Чтобы создать новый проект Scala с помощью sbt:
1. `cd` в пустую папку.
1. Запустите команду `sbt new scala/scala3.g8`, чтобы создать проект на Scala 3,
или `sbt new scala/hello-world.g8` для создания проекта на Scala 2.
Она извлекает шаблон проекта из GitHub.
Эта команда также создает папку `target`, которую вы можете игнорировать.
1. При появлении запроса назовите приложение `hello-world`.
Это создаст проект под названием "hello-world".
1. Будет сгенерировано следующее:
```
- hello-world
- project (sbt использует эту папку для собственных файлов)
- build.properties
- build.sbt (файл определения сборки sbt)
- src
- main
- scala (здесь весь Scala code)
- Main.scala (точка входа в программу) <-- это все, что сейчас нужно
```
Дополнительную документацию по sbt можно найти в [Scala Book](/scala3/book/tools-sbt.html)
(см. [здесь](/overviews/scala-book/scala-build-tool-sbt.html) для версии Scala 2)
и в официальной [документации sbt](https://www.scala-sbt.org/1.x/docs/index.html).
### С интегрированной средой разработки (IDE)
Вы можете пропустить оставшуюся часть страницы и сразу перейти к [созданию проекта Scala с помощью IntelliJ и sbt](/ru/getting-started/intellij-track/building-a-scala-project-with-intellij-and-sbt.html).
## Открыть проект hello-world
Давайте используем IDE, чтобы открыть проект. Самые популярные из них — IntelliJ и VSCode.
Оба предлагают обширные возможности, но вы по-прежнему можете использовать [множество других редакторов](https://scalameta.org/metals/docs/editors/overview.html).
### Использование IntelliJ
1. Загрузите и установите [IntelliJ Community Edition](https://www.jetbrains.com/idea/download/)
1. Установите Scala plugin, следуя [инструкциям по установке плагинов IntelliJ](https://www.jetbrains.com/help/idea/managing-plugins.html)
1. Откройте файл `build.sbt`, затем выберете *Open as a project*
### Использование VSCode с metals
1. Загрузите [VSCode](https://code.visualstudio.com/Download)
1. Установите расширение Metals из [Marketplace](https://marketplace.visualstudio.com/items?itemName=scalameta.metals)
1. Затем откройте каталог, содержащий файл `build.sbt` (это должен быть каталог `hello-world`, если вы следовали предыдущим инструкциям). Когда будет предложено, выберите *Import build*.
> [Metals](https://scalameta.org/metals) — это “языковой сервер Scala”, обеспечивающий поддержку написания кода Scala в VS Code и других редакторах,
> таких как [Atom, Sublime Text и других](https://scalameta.org/metals/docs/editors/overview.html), использующих Language Server Protocol.
>
> Под капотом Metals взаимодействует со средством сборки с помощью
> [Build Server Protocol (BSP)](https://build-server-protocol.github.io/).
> Подробнее о том, как работает Metals, см. [“Написание Scala в VS Code, Vim, Emacs, Atom и Sublime Text с помощью Metals”](https://www.scala-lang.org/2019/04/16/metals.html).
### Знакомство с исходным кодом
Просмотрите эти два файла в своей IDE:
- _build.sbt_
- _src/main/scala/Main.scala_
При запуске проекта на следующем шаге, конфигурация в _build.sbt_ будет использована для запуска кода в _src/main/scala/Main.scala_.
## Запуск Hello World
Код в _Main.scala_ можно запускать из IDE, если удобно.
Но вы также можете запустить приложение из терминала, выполнив следующие действия:
1. `cd` в `hello-world`.
1. Запустить `sbt`. Эта команда открывает sbt-консоль.
1. В консоле введите `~run`. `~` является необязательным, но заставляет sbt повторно запускаться при каждом сохранении файла,
обеспечивая быстрый цикл редактирования/запуска/отладки. sbt также создаст директорию `target`, которую пока можно игнорировать.
После окончания экспериментирования с проектом, нажмите `[Enter]`, чтобы прервать команду `run`.
Затем введите `exit` или нажмите `[Ctrl+D]`, чтобы выйти из sbt и вернуться в командную строку.
## Следующие шаги
После того как пройдете приведенные выше обучающие материалы, подумайте о том, чтобы проверить:
* [The Scala Book](/scala3/book/introduction.html) (см. версию для Scala 2 [здесь](/overviews/scala-book/introduction.html)), которая содержит набор коротких уроков, знакомящих с основными функциями Scala.
* [The Tour of Scala](/ru/tour/tour-of-scala.html) для краткого ознакомления с функциями Scala.
* [Обучающие ресурсы](/online-courses.html), которые включают в себя интерактивные онлайн-учебники и курсы.
* [Наш список некоторых популярных книг по Scala](/books.html).
* [Руководство по миграции](/scala3/guides/migration/compatibility-intro.html) поможет перенести существующую кодовую базу Scala 2 на Scala 3.
## Получение помощи
Существует множество рассылок и real-time чатов на случай, если вы хотите быстро связаться с другими пользователями Scala.
Посетите страницу [нашего сообщества](https://scala-lang.org/community/), чтобы ознакомиться со списком этих ресурсов и узнать, куда можно обратиться за помощью.