Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Установка и запуск

Libretto и Libretto IDE

Две основные программы для запуска Libretto:

  • Консольный запуск (libretto)

  • Старая IDE (libretto-ide)

Portable архивы (Linux, Windows, macOS)

Включают всё необходимое для запуска (в том числе JRE)

Linux:

64-битная x86_64 (Java 17): https://libretto-lang.org/download/linux/libretto-linux-x86_64.tar.gz (60МБ)

Windows

32-битная версия (Java 8), для старых Windows (XP и т.п.): https://libretto-lang.org/download/windows/libretto-windows-x86-old.zip (73МБ)

64-битная версия (Java 17), для актуальных систем: https://libretto-lang.org/download/windows/libretto-windows-x86_64.zip (46МБ)

macOS

64-битная x86_64 (Java 17): https://libretto-lang.org/download/macos/libretto-macos-x86_64.zip (57МБ)

Распаковать и запускать command-файлы. Если запускать через Finder, то первый запуск нужно сделать через контекстное меню -> Open/Открыть

Linux (apt/dpkg)

Для Linux с поддержкой apt/dpkg (Debian, Ubuntu, Mint и т.п.).

Внимание: Если sudo запрещен для пользователя, то смените пользователя на root (команда su -) и все действия, содержащие sudo, делайте от пользователя root. Либо добавьте пользователя в группу sudo, если хотите иметь доступ до sudo.

Установка:

  1. (a) Загрузить публичный ключ для подписей:

sudo curl -L -o /etc/apt/trusted.gpg.d/libretto.gpg http://libretto-lang.org/apt/libretto.gpg

  1. (б) Если curl не найден, то можно использовать wget:

sudo wget -O /etc/apt/trusted.gpg.d/libretto.gpg http://libretto-lang.org/apt/libretto.gpg

  1. Добавить репозиторий:

echo "deb http://libretto-lang.org/apt/ libretto stable" | sudo tee /etc/apt/sources.list.d/libretto.list

  1. Обновить информацию о пакетах:

sudo apt update

  1. Установить libretto (при отсутствии JRE 11+ оно установится автоматически):

sudo apt install libretto

После установки доступны команды libretto-ide (IDE) и libretto (консольная версия). libretto-ide добавляется в приложения графического окружения (если оно поддерживает добавление).

Для запуска используется JRE, доступное через команду java. Если JRE несколько, то их можно переключать через sudo update-alternatives --config java или через sudo update-java-alternatives (с параметром).

Параметры для запуска Java задаются скриптом ~/Libretto/launcher.conf (если этого файла нет, то он создаётся при первом запуске Libretto).

Системное обновление (обновляет только команды запуска, но не саму Libretto/Libretto IDE!)

  1. Обновить информация о пакетах:

sudo apt update

  1. (а) Либо обновить все доступные пакеты:

sudo apt upgrade

  1. (б) Либо обновить только команды запуска Libretto:

sudo apt install libretto

Обновление Libretto/Libretto IDE производится обычным способом: через Главное меню ⇒ Help ⇒ Update, либо через запуск libretto -e 'lib/updateLibretto()' в системной консоли.

Свои данные Libretto хранит в ~/Libretto каталоге.

Удаление Libretto (кроме данных ~/Libretto):

sudo apt remove libretto

Ручной запуск (через jar-файл)

Требуется Java 8+, рекомендуется Java 21 или более современная версия.

  1. Нужно скачать файл https://libretto-lang.org/ide/libretto-run.jar.

  2. Запуск при помощи одной из команд (примеры содержимого cmd-файлов для Windows, для других сред запуска используйте подходящий синтаксис):

java -Xss5m -Xmx800m -classpath libretto-run.jar org.librettolang.run.IDE %* - запуск IDE

java -Xss5m -Xmx800m -classpath libretto-run.jar org.librettolang.run.Libretto %* - запуск консольной версии Libretto

java -Xss5m -Xmx800m -classpath libretto-run.jar org.librettolang.run.Server %* - запуск консольной версии сервера

java -Xss5m -Xmx800m -classpath libretto-run.jar org.librettolang.run.ServletGenerator %* - запуск генератора (компилятора) сервлета

java -classpath libretto-run.jar org.librettolang.run.Update %* - запуск консольной версии апдейта.

Управление памятью через опции запуска

Размер стека (m - мегобайты): -Xss5m Размер heap (m - мегобайты): -Xmx4000m

Место правки опций для предлагаемых сборок:

Windows (32-битная portable): нет возможности

Windows (64-битная portable): файлы app\libretto-ide.cfg и app\libretto.cfg

macOS (portable): скрипты запуска libretto-ide.command и libretto.command

Linux (portable): скрипты запуска bin/libretto-ide.sh и bin/libretto.sh

Linux (apt): файл ~/Libretto/launcher.conf

Ручной запуск: опции запуска java или javaw

Механизм #! для скриптов

Изначально в грамматику языка Libretto заложена поддержка #-комментария первой строкой исходного текста. При соответствующем окружении это позволяет исполнять Libretto-программы при помощи механизма Shebang (#!), т.е. как системные скрипты.

Поскольку нет фиксированного пути программы консольного Libretto (он может меняться в зависимости от способов установки), то для запуска рекомендуется использовать env (позволяет запускать программу через поиск по $PATH). В предположении, что консольный Libretto вызывается через libretto, первая строка исходного текста Libretto-программы для запуска будет выглядеть так: #!/usr/bin/env libretto

Пример:

Есть файл test.ltt:

$ cat test.ltt
#!/usr/bin/env libretto

use libretto/util

def main = println: s"Heap size: #{util/memoryMax div 1024 div 1024}MB"

Установить флаг запуска:

$ chmod +x test.ltt

И можно запустить:

$ ./test.ltt
Heap size: 2000MB

Для доступа к параметрам командной строки можно использовать метод def osArgs: String* из пакета libretto/util

$ cat test.ltt
#!/usr/bin/env libretto

use libretto/util

def main = println: s"Args: #{util/osArgs.*join(",")}
$ ./test.ltt 1 "2 3"
Args: 1,2 3