# Konfiguracja na Windows

`make dev` działa natywnie na Windows przez Git Bash, gdy ogarniesz kilka osobliwości toolchaina. Po tej konfiguracji te same cele `make` działają tak samo jak na macOS. Zacznij od [konfiguracji środowiska](/pl/docs/contributing/development-setup/), jeśli nie masz jeszcze zainstalowanych wspólnych wymagań wstępnych.

1. Zainstaluj wymagane narzędzia przez Chocolatey, z podniesionego PowerShella:

   ```powershell
   choco install -y git make rustup.install nodejs-lts cmake llvm `
                     visualstudio2022buildtools visualstudio2022-workload-vctools `
                     bats-core
   ```

   To instaluje GNU Make 4.4, a nie GnuWin32 make 3.81, który źle obsługuje rozwijanie `$(VAR)` i kontynuacje linii `\` w regułach.

2. Przypnij linker MSVC. Utwórz `.cargo/config.toml` w katalogu głównym repozytorium (w `.gitignore`), wskazujący na `link.exe` z MSVC, w wersji zainstalowanej przez VS Build Tools. Bez tego link z Cygwina ma pierwszeństwo przed linkiem z MSVC, gdy cargo w Git Bash szuka `link`, a budowanie kończy się błędami `LNK1146`, `LNK1170` lub `LNK1206`.

3. Załaduj zmienne środowiskowe MSVC, zanim uruchomisz cargo. Wygeneruj raz migawkę zmiennych z `vcvars64.bat`, zapisz ją jako skrypt, który można wczytać w bashu, i załaduj go z `~/.bashrc`, ze ścieżką binariów MSVC ustawioną w `PATH` przed `/usr/bin`, tak żeby procesy potomne cargo znajdowały tam najpierw `cl.exe` i `dumpbin.exe`.

4. Uruchamiaj to z interaktywnej sesji Git Bash, nie przez SSH ani nie z `cmd.exe` czy PowerShella:

   ```bash
   cd ~/Projects/speedwave
   make setup-dev
   make dev
   ```

   Przez SSH `make setup-dev` pomija krok tworzenia dowiązania symbolicznego `node_modules/.bin/`, co później psuje `npx ng serve`.

Zajrzyj do [testowania](/pl/docs/contributing/testing/), gdy już budujesz projekt, żeby uruchomić cele testowe po stronie Windows.