Локальне встановлення JavaScript

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


У цьому треку скрізь використовується Node.js, який забезпечує середовище виконання для JavaScript. Це означає, що ми припускаємо: весь JavaScript на компʼютері виконуватиметься за допомогою Node.js.

Вимоги до треку

На багатьох компʼютерах Node.js уже стоїть, або його було встановлено раніше, або він є залежністю. Тож перш ніж щось робити, перевірмо, чи його вже встановлено:

  1. Відкрийте термінал (Terminal, cmd, Powershell, bash, ...)
  2. node -v

Якщо Node.js встановлено, зʼявиться номер версії. Запишіть цю версію. Якщо Node.js не встановлено, буде виведено повідомлення про помилку. Зазвичай приблизно таке: 'node' is not recognised.

Node.js

Якщо Node.js уже встановлено

Перейдіть на сайт Node.js. Він покаже дві версії (якщо визначить операційну систему; інакше спершу виберіть свою). Якщо версія з node -v збігається з однією з них, усе гаразд. Якщо ні, радимо використовувати Node.js LTS. Якщо є побоювання, що оновлення щось зламає в системі, можна продовжити так, ніби все гаразд; але ми можемо не мати змоги надати підтримку, коли станеться щось непередбачене.

Якщо Node.js не встановлено

Є кілька способів встановити Node.js:

Обидва варіанти підтримують Windows, macOS і Linux. Якщо незрозуміло, що робити, найпростіше скористатися інсталятором.

  • Радимо використовувати версію LTS. На сайті Node.js її також позначено як recommended «для більшості користувачів».
  • Дотримуйтеся вказівок на вебсторінці та/або в інсталяторі й установіть Node.js.

Перевірка встановлення

Коли інсталятор завершить роботу, або менеджер пакетів закінчить, або бінарний файл буде скопійовано й вказівки виконано, варто перевірити, чи все гаразд.

  1. Відкрийте термінал (Terminal, cmd, Powershell, bash, ...)
  2. node -v

Версія має збігатися з тією, що на сайті.

[!NOTE] Важливо відкрити нове вікно термінала. Уже відкриті вікна термінала могли не оновитися після завершення встановлення. Тобто відкриті термінали не знають, що було встановлено нову програму.

[!IMPORTANT] > Довідка: 'node' is not recognised

Якщо скористатися офіційним інсталятором, PATH має налаштуватися автоматично, але якщо оболонка не може знайти глобально встановлені модулі, або якщо Node.js зібрано з початкового коду, оновіть PATH, щоб він містив бінарні файли npm.

На macOS і Linux це можна зробити, додавши таке до ~/.bash_profile або ~/.zshrc:

export PATH=/usr/local/share/npm/bin:$PATH

У Windows відкрийте меню «Пуск» і знайдіть «environment variables». Потрібно відредагувати запис PATH і додати сюди шлях до бінарних файлів npm. Зазвичай вони містяться за адресою C:\Program Files\nodejs. Якщо перейти туди через File Explorer, тут мають бути node.exe, npm.bat і npx.bat.

Закрийте всі відкриті термінали й відкрийте новий.

Увімкнення corepack

Щоб скористатися версійним менеджером пакетів, сумісним із цим треком, corepack потрібно один раз увімкнути:

corepack enable pnpm

Вимоги до завдання

Щоб завантажити Exercism CLI для своєї ОС, дотримуйтеся цих вказівок.

Коли CLI встановлено й налаштовано, завантажте першу вправу - hello-world:

exercism download --exercise=hello-world --track=javascript

Потім кожному завданню потрібні деякі інструменти для запуску тестів. Їх можна встановити, виконавши цю команду в каталозі кожного завдання:

corepack pnpm install

Оскільки цей трек перейшов на pnpm, про місце на диску можна не хвилюватися. Зазирніть на pnpm: він гарантує, що на диску зберігається лише одна копія кожної версії пакета.

Але що таке corepack і чому це працює?

Ця інформація не потрібна, щоб пройти трек JavaScript, але якщо кортить зрозуміти, що щойно сталося, наступні абзаци саме про це:

Це працює, бо corepack - це інструмент, який постачається разом із Node.js, встановленим за кроками вище. Він може встановити менеджер пакетів pnpm. Він налаштовує систему Команда corepack шукає файл package.json, який є в кожній теці завдання. Далі вона перевіряє packageManager, який збігається з pnpm, тож може продовжити. За потреби вона спершу оновить pnpm. Цей файл також перелічує "dependencies", які потім завантажує pnpm і складає до локального кешу.

Скрипти в package.json використовують бінарні файли з локального кешу, і саме ці скрипти запускають тести, як зазначено в описі exercise.