Вас закликали “клонувати репозиторій та зібрати його”, але ви не впевнені, що робити далі? Ми покажемо вам, як запустити програму з GitHub на Linux, навіть якщо ви новачок у цій справі.
Інструкції, що складають комп’ютерну програму, записуються, редагуються і зберігаються у вигляді звичайних текстових файлів. Потім спеціальна програма, відома як компілятор, обробляє ці файли. Це створює виконувану версію програми. Текстові файли з інструкціями називаються вихідним кодом. Версія програми, яка дійсно працює на комп’ютері, називається двійковою або виконуваною.
Це спрощений опис, але він дає правильне – хоча й узагальнене – уявлення про процес. На практиці ви знайдете різноманітні варіанти цієї моделі. Іноді текстові файли створюються іншими програмами. В інших випадках вихідний код запускається за допомогою інтерпретатора і не потребує компіляції, і так далі.
Однак, єдине, що є вірним для всіх програмних проєктів: файли вихідного коду – це скарб, і вони потребують ретельного догляду.
Системи контролю версій
Всі файли вихідного коду в рамках одного проєкту називають кодовою базою. Великі проєкти часто передбачають роботу багатьох розробників з кодовою базою. Кожну зміну коду потрібно відстежувати та ідентифікувати. За потреби зміни повинні мати можливість бути скасовані. Якщо різні розробники вносять зміни в один і той самий файл, то їхні зміни повинні бути об’єднані.
Тому не дивно, що існують спеціальні програми, звані системами контролю версій, які допомагають керувати змінами в кодовій базі. Системи контролю версій зберігають усі попередні версії кожного файлу кодової бази, і кожна зміна записується, коментується і відстежується.
Git – важливий інструмент
Лінус Торвальдс, творець ядра Linux, розробив систему контролю версій під назвою Git для управління кодовою базою ядра Linux. Сьогодні це найпоширеніше програмне забезпечення для контролю версій у світі. Мільйони людей використовують його – буквально.
У Git кодова база проєкту зберігається в сховищах. Окрім локальних сховищ, які знаходяться на комп’ютерах розробників, і, можливо, на центральному сервері у мережі, корисно мати віддалений репозиторій.
І саме тут на допомогу приходить GitHub.
GitHub
GitHub з’явився завдяки успіху Git. Засновники побачили зростаючу потребу в надійних віддалених репозиторіях Git. Вони створили бізнес, пропонуючи хмарну платформу, яка дозволяє командам розробників розміщувати віддалені репозиторії. Станом на квітень 2019 року GitHub налічував понад 100 мільйонів репозиторіїв.
Якщо програма є проєктом з відкритим кодом, то велика ймовірність, що вона розміщена на GitHub. Існують й інші платформи репозиторіїв, такі як BitBucket і GitLab, але GitHub має переважну більшість репозиторіїв з відкритим кодом.
Структура репозиторію
Репозиторій GitHub складається з папок, що містять файли, включаючи файли вихідного коду. Зазвичай в репозиторіях є й інші типи файлів. Можуть бути файли документації, сторінки інструкцій, файли ліцензій на програмне забезпечення, інструкції по збірці і файли сценаріїв оболонки. Немає жорстких правил щодо того, що саме повинен містити репозиторій, але є певні усталені практики.
Якщо ви знаєте, як орієнтуватися на одній кухні, ви зможете орієнтуватися на будь-якій кухні. Те ж саме з репозиторіями. Як тільки ви зрозумієте основні принципи, ви знатимете, де шукати потрібну інформацію.
Отже, як отримати копію репозиторію на ваш комп’ютер і як зібрати програму у виконуваний двійковий файл?
Файл README
Зазвичай репозиторій містить файл README. Він може називатися readme, Readme або README. Також він може мати розширення “.md” або не мати його взагалі.
Давайте розглянемо репозиторій редактора Atom на GitHub. Ви побачите довгий список папок і файлів. Прокрутіть сторінку вниз, і ви побачите вміст файлу README.md.
GitHub автоматично відображає вміст файлу README на першій сторінці репозиторію. Якщо файл readme має розширення “.md”, то він містить текст, розмічений Markdown. Це дозволяє розробникам використовувати елементи стилю, такі як шрифти, маркери та зображення.
Зазвичай, файл readme містить розділи, що розповідають про проєкт, тип ліцензії, хто його підтримує, як можна долучитися, а також як зібрати і запустити програму.
Якщо в ньому немає інструкцій по збірці, то він підкаже, де їх знайти. Інша корисна інформація для збірки програми, наприклад, потрібні інструменти та залежності, також може бути тут або за посиланням.
Репозиторій Boxes
Наша мета – клонувати репозиторій boxes, а потім зібрати додаток boxes.
Репозиторій має таку ж структуру, як і Atom. Є список папок і файлів, а внизу – вміст файлу readme. Він відповідає стандартній структурі репозиторію, але це менший проєкт, тому там менше папок і файлів.
Файл readme також коротший. Він має розділ “Розробка”. У цьому розділі є посилання “побудова з вихідного коду”. Перейшовши за цим посиланням, ми повинні знайти потрібну інформацію.
Зазвичай, для навігації по репозиторію та пошуку потрібної інформації потрібно трохи вивчення, але це не складно. Уважно прочитайте все на сторінці репозиторію. Іноді потрібна інформація є, але вона не дуже помітна.
Залежності
На сторінці “Побудова з вихідного коду” є розділ “Побудова на Linux”, і це саме те, що нам потрібно. Там вказано, що нам потрібен компілятор C, Bison та Flex.
В інструкціях по збірці сказано, що потрібно виконати команду make, тому нам потрібен також make.
Отже, інструменти, необхідні для збірки цієї програми – це компілятор C, Bison, Flex, make та Git (для клонування репозиторію на комп’ютер).
Цю статтю писали, використовуючи комп’ютери з дистрибутивами Ubuntu, Fedora і Manjaro Linux. Жоден з цих дистрибутивів не мав всіх необхідних інструментів, тому на кожному доводилося дещо встановлювати.
Встановлення набору інструментів
На Ubuntu потрібно було встановити Git, Flex, Bison і make. Ось відповідні команди:
sudo apt-get install git
sudo apt-get install flex
sudo apt-get install bison
sudo apt-get install make
На Fedora треба було встановити Flex, Bison і make. Ось команди:
sudo dnf install flex
sudo dnf install bison
sudo dnf install make
На Manjaro потрібно було встановити компілятор GCC, Flex та Bison. Ось команди:
sudo pacman -Syu gcc
sudo pacman -Syu flex
sudo pacman -Syu bison
Клонування репозиторію
Кожен репозиторій на GitHub має свою унікальну веб-адресу, яка використовується Git для клонування сховища на ваш комп’ютер. На головній сторінці репозиторію boxes є зелена кнопка “Клонувати або завантажити”.
<img loading=”lazy” decoding=”async” src=”https://techukraine.net/wp-content/uploads/2021/12/1639843593_617_Як-встановити-програмне-забезпечення-за-допомогою-Git-на-Linux.png” alt=”The