Хочете використовувати інструменти Linux (Docker, Python, Node.js), не залишаючи Windows? До ваших послуг WSL (Windows Subsystem for Linux). Це повноцінне ядро Linux, що працює паралельно з вашою основною системою.
Перш ніж почати, загляньте в BIOS вашого комп’ютера. Там має бути ввімкнена віртуалізація (VT-x або AMD-V). Без цієї «галочки» Linux не запуститься.
Розберемося, як налаштувати системи для спільної роботи.
1. Перевірка стану
Перед початком перевірте поточний стан системи в PowerShell:
wsl -l -v
wsl -l -v поверне список уже встановлених дистрибутивів:
- порожня відповідь: немає встановлених дистрибутивів.
- Ubuntu: Linux уже встановлено.
- docker-desktop / docker-desktop-data: технічні дистрибутиви Docker Desktop.
⚠️ У колонці VERSION має стояти цифра 2. Якщо стоїть 1, оновіть дистрибутив командою wsl --set-version Ubuntu 2.
2. Встановлення
Якщо Linux не встановлено, у PowerShell від імені адміністратора введіть:
wsl --install
Система підготує Ubuntu. Після завершення перезавантажте комп’ютер для налаштування ядра.
3. Налаштування користувача
При першому запуску WSL запропонує створити користувача. Якщо в терміналі бачите root@ІМ’Я_ПК — це нормально.
Root потрібен для налаштувань системи, для розробки створіть окремого користувача.
До речі ⚠️: Символ тильди ~ — шлях до домашньої директорії. У root це /root, у користувача — /home/my_user_name. Якщо створите проєкти під root, виникнуть проблеми з правами доступу у VS Code. Команда cd ~/projects під root і під звичайним юзером приведе вас у різні місця.
Як створити користувача:
# Створюємо користувача my_user_name
adduser my_user_name
# Надаємо права адміністратора (для sudo)
usermod -aG sudo my_user_name
Щоб WSL завжди відкривався під вашим ім’ям, у PowerShell Windows введіть:
# Замініть my_user_name на ім'я вашого користувача
ubuntu config --default-user my_user_name
Термінал зустрічатиме запрошенням: my_user_name@ІМ’Я_ПК:~$.
4. Де зберігати код
У WSL є доступ до дисків Windows (/mnt/c/), але не зберігайте там проєкти.
Файлові системи Windows і Linux спілкуються повільно. Проєкт на диску C: або D: значно сповільнить роботу з кодом.
Правильне місце: домашня папка в Linux.
Введіть:
cd ~
mkdir projects && cd projects
Тут швидкість максимальна. Відкрити папку в провіднику Windows: explorer.exe .
5. Робочий стек
Python (venv)
У Linux ізолюйте пакети. Не ставте бібліотеки глобально, використовуйте віртуальні оточення:
sudo apt update && sudo apt upgrade -y
sudo apt install python3-pip python3-venv -y
# Створення проєкту
mkdir my_project && cd my_project
python3 -m venv venv
source venv/bin/activate
Node.js (NVM)
Стандартний apt install nodejs ставить застарілу версію. Використовуйте NVM (Node Version Manager):
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
source ~/.bashrc
nvm install --lts # Встановить актуальну стабільну версію
6. Інтеграція
VS Code
Встановіть VS Code у Windows і розширення Remote – WSL. Команда code . у терміналі Ubuntu відкриє проєкт в інтерфейсі Windows, код буде виконуватися в Linux.
Docker
У налаштуваннях Docker Desktop (Settings -> Resources -> WSL Integration) увімкніть галочку навпроти Ubuntu. Тепер керуйте контейнерами з термінала Linux.
7. Шпаргалка
whoami— Перевірка: ви root чи звичайний юзер.pwd— Повний шлях до поточної папки.wsl --shutdown— (у PowerShell) Повна зупинка Linux для очищення пам’яті.cat file.txt | clip.exe— Копіює текст із Linux у буфер обміну Windows.
Workflow:
- Відкрили термінал. Бачите:
my_user_name@.... - Зайшли в проєкт:
cd ~/projects/my-app. - Запустили VS Code командою
code .. - Profit.