Установка и запуск
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.
Установка:
- (a) Загрузить публичный ключ для подписей:
sudo curl -L -o /etc/apt/trusted.gpg.d/libretto.gpg http://libretto-lang.org/apt/libretto.gpg
- (б) Если curl не найден, то можно использовать
wget:
sudo wget -O /etc/apt/trusted.gpg.d/libretto.gpg http://libretto-lang.org/apt/libretto.gpg
- Добавить репозиторий:
echo "deb http://libretto-lang.org/apt/ libretto stable" | sudo tee /etc/apt/sources.list.d/libretto.list
- Обновить информацию о пакетах:
sudo apt update
- Установить 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!)
- Обновить информация о пакетах:
sudo apt update
- (а) Либо обновить все доступные пакеты:
sudo apt upgrade
- (б) Либо обновить только команды запуска 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 или более современная версия.
-
Нужно скачать файл https://libretto-lang.org/ide/libretto-run.jar.
-
Запуск при помощи одной из команд (примеры содержимого 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