Встановлення Unison локально

Дізнайтеся, як встановити Unison локально, щоб розвʼязувати вправи Exercism на власному компʼютері


Варіанти встановлення

Поточна версія Unison доступна для Mac OS X, 64-бітного Linux і Windows! Сподіваємося, що всі, хто пробує Unison, завітають поговорити з нами на форумі Exercism або в Unison Discord. Завітаймо поставити запитання й розповімо про проблеми, з якими можемо зіткнутися! Хочемо, щоб перші кроки були привітними та позитивними! 😊

Unison можна завантажити за допомогою homebrew, Nix або напряму як готові бінарні файли. Усі ці варіанти завантаження описано на сторінці з інструкціями зі встановлення на нашому сайті. Коли UCM буде встановлено, повернімося сюди!

Варіант 1: за допомогою Homebrew

Спершу встановімо homebrew, якщо його ще немає.

Потім у командному рядку виконаймо такі команди:

brew tap unisonweb/unison
brew install unison-language

Це встановить виконуваний файл менеджера кодових баз Unison, ucm. Якщо це оновлення з попередньої версії, достатньо виконати

brew upgrade unison-language.

Зауваження: якщо на цьому кроці система попросить імʼя користувача й пароль GitHub, переконаймося, що unisonweb/unison написано правильно.

Варіант 2: встановлення вручну для Mac і Linux

Посилання для ручного встановлення в Linux і Mac наведено тут у відповідних розділах про ручне завантаження для Linux і Mac.

Ми виконаємо в оболонці команду, схожу на цю, але за посиланням вище буде найсвіжіший бінарний файл:

mkdir unisonlanguage
curl -L https://github.com/unisonweb/unison/releases/download/release_VERSION_NAME/ucm-YOUR_PLATFORM.tar.gz --output unisonlanguage/ucm.tar.gz
tar -xzf unisonlanguage/ucm.tar.gz -C unisonlanguage
./unisonlanguage/ucm

Варіант 3: встановлення вручну для Windows

  1. Щоб усе працювало якнайкраще, зробімо типовим застосунком термінала «Windows Terminal». Знайдімо «Terminal» у налаштуваннях або скористаймося цією інструкцією.
  2. Якщо не знаємо, чи Git уже встановлено, встановімо його:
  • Через winget: winget install --id Git.Git -e --source winget
  • На Windows 10, де winget немає, його можна встановити з Microsoft Store, а потім виконати команду вище.
  1. Завантажмо UCM за наведеним тут посиланням і розпакуймо його в будь-яке місце на власний розсуд.
  2. Запустімо ucm.exe

Варіант 4: встановлення через Nix

Перейдімо на https://github.com/ceedubs/unison-nix/#usage і виконаймо інструкції з readme.

Створімо кодову базу Unison

Запустімо ucm, щоб ініціалізувати кодову базу Unison у $HOME/.unison. Тут Unison зберігатиме визначення функцій, типи, простори імен тощо. Типово менеджер кодових баз Unison (скорочено «UCM») почне завантажувати стандартну бібліотеку, що зветься base, яку будемо використовувати для написання коду Unison. Це може зайняти хвилинку! 🕰

Робочий процес у Unison

Коли ми хочемо написати код Unison, ми виконуємо команду ucm, щоб запустити менеджер кодових баз. Далі UCM стежитиме за змінами в будь-якому файлі з розширенням .u у каталозі, з якого його викликано. Наприклад, ми можемо реалізовувати функції у файлі scratch.u у каталозі ~/exercism/unison/my-exercise/. Варто виконати cd у ~/exercism/unison/my-exercise/ і запустити ucm. Так UCM точно стежитиме за змінами у файлі scratch.u.

Якщо раптом незрозуміло, за яким каталогом ucm стежить, це написано на вітальному екрані під час запуску інтерфейсу командного рядка.

👀 I'm watching for changes to .u files under /Users/myUser/exercism/unison/my-exercise

Більше порад щодо робочого процесу тут!

Підтримка редакторів

Для написання файлів .u можна використовувати будь-який текстовий редактор. Unison має підтримку LSP, тож улюблена IDE допоможе з такими речами, як показ типів при наведенні та автодоповнення. Нижче наведено кілька популярних редакторів із підтримкою Unison:

Vim

За допомогою vim-plug:

  1. Встановімо vim-plug, якщо його ще немає.
  2. Додаймо до .vimrc такий рядок: Plug 'unisonweb/unison', { 'branch': 'trunk', 'rtp': 'editor-support/vim' }
  3. Виконаймо команду vim :PlugInstall.

Докладніше: виконаймо :help unison у vim або перегляньмо довідку онлайн.

Atom

У консолі виконаймо:

apm install unisonweb/atom-unison

VS Code

  1. Відкриємо вікно Extensions, натиснувши піктограму Extensions на панелі Activity Bar збоку VS Code, або комбінацією ⇧⌘X.
  2. Знайдімо «unison»
  3. Встановімо розширення Unison для VS Code

Emacs

Встановімо unison-mode.