Установка Erlang на Debian 10

TL;DR
Кратко: обновите систему, добавьте репозиторий Erlang Solutions и установите пакет erlang через APT. После установки проверьте версию командой erl и запустите простой скрипт “Hello World” для проверки работы среды.
Введение
Erlang — это язык программирования общего назначения и среда выполнения, поддерживаемая подразделением продуктов Ericsson OTP. Он предназначен для построения масштабируемых систем реального времени с высокой доступностью. В Erlang встроены средства для конкурентности, распределённости и отказоустойчивости. Обычно его применяют в телекоммуникациях, банковских системах, электронной коммерции и системах обмена сообщениями.
В этом руководстве показано, как установить Erlang на сервер с Debian 10 (Buster).
Требования
- Сервер с установленным Debian 10.
- Доступ root или учетная запись с sudo-привилегиями.
Подготовка системы
Сначала обновите пакеты на сервере:
apt-get update -yУстановите зависимости, необходимые для добавления внешних репозиториев и работы с ключами:
apt-get install curl gnupg apt-transport-https debian-keyring debian-archive-keyring -yПосле установки зависимостей переходите к добавлению репозитория Erlang.
Добавление репозитория и установка Erlang
По умолчанию пакет Erlang может отсутствовать в стандартных репозиториях Debian 10. В этом примере используется репозиторий Erlang Solutions.
Скачайте и добавьте GPG-ключ:
wget -O- https://packages.erlang-solutions.com/ubuntu/erlang_solutions.asc | apt-key add -Добавьте репозиторий в APT:
echo "deb https://packages.erlang-solutions.com/ubuntu bionic contrib" | tee /etc/apt/sources.list.d/rabbitmq.listПримечание: в примере используется идентификатор “bionic” (Ubuntu Bionic). Обычно пакеты от Erlang Solutions хорошо совместимы с разными дистрибутивами, но при желании можно проверить на сайте Erlang Solutions, есть ли явный репозиторий для Debian Buster.
Обновите списки пакетов и установите erlang:
apt-get update -y
apt-get install erlang -yПосле установки проверьте работу среды командой:
erlВы увидите примерный вывод:
Erlang/OTP 23 [erts-11.1.7] [source] [64-bit] [smp:1:1] [ds:1:1:10] [async-threads:1]
Eshell V11.1.7 (abort with ^G)
Для выхода нажмите CTRL+C и введите a.
Быстрый старт: использование Erlang
Запустите оболочку Erlang:
erlПример вывода уже показан выше. В интерактивной оболочке можно выполнять выражения:
1> 5 + 10.
15
2> (5 + 9) * 12/3.
56.0
2>BREAK: (a)bort (A)bort with dump (c)ontinue (p)roc info (i)nfo
(l)oaded (v)ersion (k)ill (D)b-tables (d)istribution
Чтобы выйти, нажмите CTRL+C и введите a.
Пример: простой “Hello World”
Создайте файл:
nano hellotest01.erlВставьте код:
% Test to display Hello World Erlang Code
-module(hellotest01).
-import(io,[fwrite/1]).
-export([helloworld/0]).
helloworld() ->
fwrite("Hai Guys.. , Erlang World!\n").
Сохраните и закройте файл. Подключитесь к Erlang оболочке:
erlСкомпилируйте и запустите модуль:
1> c(hellotest01).
{ok,hellotest01}
2> hellotest01:helloworld().
Hai Guys.. , Erlang World!
ok
3>
Контрольная шпаргалка команд
- apt-get update -y — обновление списка пакетов
- apt-get install
-y — установка пакета - erl — запуск интерактивной Erlang-оболочки
- c(module). — компиляция модуля из текущего каталога
- module:function(). — вызов функции модуля
Частые ошибки и как их избежать
- Проблемы с ключами GPG: убедитесь, что команда wget сработала и apt-key добавил ключ без ошибок. Если ключ не добавлен, APT будет выдавать предупреждения при обновлении.
- Неправильный репозиторий: строка с “bionic” может вызывать сомнения, но она часто работает. Если возникнут несоответствия версий библиотек, проверьте рекомендованный репозиторий на сайте поставщика пакетов.
- Права доступа: выполняйте команды от root или с sudo, иначе APT не сможет изменить списки пакетов.
Альтернативные подходы
- Установка из исходников: полезно, если нужна специфичная версия Erlang или патчи. Требует сборки зависимостей и времени.
- Использование менеджеров пакетов для языков/сред (например asdf) для управления несколькими версиями Erlang параллельно.
- Контейнеризация: запуск Erlang-приложений в Docker-контейнерах для изоляции и воспроизводимости окружения.
Роли и обязанности (короткий чек-лист для команды)
- Сисадмин: обновление системы, добавление ключей и репозиториев, установка пакетов.
- Разработчик: компиляция модулей, написание тестов и проверка совместимости версий OTP.
- Девопс: контейнеризация, CI/CD для сборки и деплоя Erlang-приложений.
Критерии приёмки
- Erlang успешно устанавливается без ошибок через APT.
- Команда erl запускает интерактивную оболочку и возвращает ожидаемую строку версии.
- Примерный модуль hellotest01 компилируется и выполняется, выводя строку “Hai Guys.. , Erlang World!”.
Глоссарий (1 строка)
- Erlang/OTP — платформа и набор библиотек для разработки распределённых и отказоустойчивых приложений.
Заключение
Поздравляем — вы установили Erlang на Debian 10 и проверили его работу простым примером. Если нужно управлять несколькими версиями или использовать контейнеры для изоляции, рассмотрите альтернативные подходы, описанные выше. Для углублённой информации обратитесь к официальной документации Erlang и Erlang Solutions.
Важно: при работе в продакшене проверяйте совместимость версий библиотек и протестируйте восстановление после сбоев.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента