Instalacja i pierwszy ekran
Zanim poznasz jakiekolwiek pojęcie Angulara, uruchomisz działającą stronę i zmienisz na niej napis. Po drodze nauczysz się, skąd system wie, gdzie szukać programu ng, i co zrobić, gdy VS Code przy pierwszym uruchomieniu odmawia współpracy.
Czego się dziś nauczysz
- Sprawdzisz wersję Node.js i npm i ocenisz, czy wystarczy dla Angulara 22.
- Wyjaśnisz, czym jest zmienna środowiskowa
Path, i dopiszesz do niej brakujący folder. - Zainstalujesz Angular CLI i odpowiesz na pytania, które zada przy pierwszym uruchomieniu.
- Rozpoznasz błąd „uruchamianie skryptów jest wyłączone” w terminalu VS Code i naprawisz go bez uprawnień administratora.
- Utworzysz projekt poleceniem
ng newi otworzysz go w VS Code. - Uruchomisz i zatrzymasz serwer deweloperski.
- Zmienisz tekst na stronie i zobaczysz przeładowanie na żywo.
- Odróżnisz ostrzeżenie (żółte) od błędu (czerwonego) w terminalu.
Przygotowanie: brak — to pierwsza lekcja. Potrzebujesz komputera z Windows 10/11, dostępu do internetu i edytora VS Code. Przewidywany czas: 2 × 45 min z zadaniami.
Po co osobne narzędzia
Zwykłą stronę HTML wystarczy otworzyć w przeglądarce. Angular tak nie działa: kod, który piszesz, jest najpierw tłumaczony (kompilowany), a dopiero wynik trafia do przeglądarki. Dlatego potrzebny jest program, który to tłumaczenie wykonuje i podaje gotowy wynik — serwer deweloperski.
Do pracy potrzebujesz trzech programów. Instalujesz dwa, trzeci przychodzi w pakiecie:
| Program | Do czego służy | Jak go zdobyć |
|---|---|---|
| Node.js | uruchamia JavaScript poza przeglądarką; Angular używa go do kompilowania Twojego kodu | instalator ze strony nodejs.org, wersja oznaczona LTS |
| npm | pobiera biblioteki (Angulara, Bootstrapa) z internetu | instaluje się razem z Node.js |
Angular CLI (ng) | tworzy projekt, generuje pliki, uruchamia serwer | poleceniem npm install -g @angular/cli |
Jaka wersja Node.js
Angular 22 wymaga Node.js w wersji 22.22.3 lub nowszej z linii 22, 24.15 lub nowszej z linii 24 albo 26 i nowszej. Najprościej: pobierz z nodejs.org aktualną wersję LTS. Starsza wersja nie zablokuje instalacji, ale pierwsze polecenie ng zakończy się komunikatem „The Angular CLI requires a minimum Node.js version…”.
Wszystkie polecenia z tego kursu wpisujesz w terminalu. W VS Code otwierasz go z menu Terminal → New Terminal albo skrótem Ctrl+` (klawisz pod Esc). Terminal otwiera się w folderze, który masz otwarty w VS Code — to ważne, bo większość poleceń działa tylko w folderze projektu.
Zmienne środowiskowe i Path — skąd system wie, gdzie jest ng
Gdy wpisujesz w terminalu node albo ng, system nie przeszukuje całego dysku. Zagląda tylko do folderów wymienionych w zmiennej środowiskowej Path. Zmienna środowiskowa to po prostu nazwa z przypisaną wartością, którą system przechowuje dla wszystkich programów — a wartością Path jest lista folderów rozdzielonych średnikami.
Dla Angulara ważne są dwa wpisy:
| Folder w Path | Co w nim jest | Kto go dopisuje |
|---|---|---|
C:\Program Files\nodejs\ | node.exe i npm | instalator Node.js (zmienna systemowa) |
C:\Users\nazwa\AppData\Roaming\npm | programy instalowane przez npm install -g, w tym ng | instalator Node.js (zmienna użytkownika) |
Jak sprawdzić, co jest w Path
$env:Path -split ';' # wypisuje foldery z Path, każdy w osobnym wierszu
where.exe node # pokazuje, gdzie system znalazł node.exe
where.exe ng # to samo dla ng (zadziała po instalacji CLI)
npm config get prefix # folder, do którego npm instaluje programy globalne
C:\Program Files\nodejs\node.exe
Jak dopisać brakujący folder
- Naciśnij Win+R, wpisz
sysdm.cpli zatwierdź. Przejdź na kartę Zaawansowane i kliknij Zmienne środowiskowe….
Bez uprawnień administratora: w menu Start wpisz „Edytuj zmienne środowiskowe dla konta” — otworzy się okno tylko ze zmiennymi Twojego konta. - W górnej części (Zmienne użytkownika) zaznacz
Pathi kliknij Edytuj…. - Kliknij Nowy i wklej brakujący folder, np. wynik polecenia
npm config get prefix. - Zatwierdź wszystkie okna przyciskiem OK.
- Zamknij całe VS Code (nie tylko terminal) i otwórz je ponownie.
Dlaczego trzeba zamknąć całe VS Code
Każdy program dostaje kopię zmiennych środowiskowych w chwili uruchomienia. Terminal w VS Code dziedziczy je od VS Code, a nie od systemu. Jeśli VS Code było otwarte podczas instalacji Node.js albo zmiany Path, nowy terminal w tym samym oknie nadal ma starą listę i dalej nie znajdzie node ani ng. To najczęstsza przyczyna błędu „nie jest rozpoznawany” zaraz po instalacji.
Nie usuwaj niczego z Path
Przy edycji dopisujesz nowy wiersz, nigdy nie kasujesz istniejących. Usunięcie wpisu, którego nie rozumiesz, może zepsuć inne programy — w pracowni także Twoim kolegom z następnej zmiany.
Sprawdź, czy masz czym pracować
Zanim cokolwiek zainstalujesz, sprawdź, co już jest na komputerze. Otwórz VS Code, potem terminal, i wpisz dwa polecenia.
node --version
npm --version
v24.21.0
11.6.2
Dwa numery wersji oznaczają, że Node.js i npm są zainstalowane i widoczne w Path. Liczba przed pierwszą kropką to wersja główna. Jeśli zamiast numeru widzisz komunikat „Termin node nie jest rozpoznawany…”, Node.js nie jest zainstalowany albo jego folder nie trafił do Path — wróć do poprzedniej sekcji.
Zatrzymaj się
Porównaj swoją wersję z wymaganiami Angulara 22 z ramki „Jaka wersja Node.js”. Czy Twoja wersja wystarczy? Jeśli to np. v20.11.0 — nie wystarczy, trzeba zainstalować nowszą.
Zainstaluj Angular CLI
CLI instalujesz raz, globalnie — przełącznik -g sprawia, że program trafia do folderu z Path, a nie do jednego projektu.
npm install -g @angular/cli
ng version
Przy pierwszym uruchomieniu ng zada dwa pytania. Pojawiają się tylko raz na komputerze:
| Pytanie | Odpowiedź | Co to znaczy |
|---|---|---|
| Would you like to enable autocompletion? | Enter (Yes) | klawisz Tab będzie podpowiadał polecenia ng |
| Would you like to share pseudonymous usage data…? | Enter (No) | CLI nie wysyła statystyk do zespołu Angulara |
Angular CLI : 22.2.2
Node.js : 24.21.0
Package Manager : npm 11.6.2
Operating System : win32 x64
Logo Angulara i tabela wersji oznaczają sukces. Jeśli zamiast tego widzisz czerwony komunikat o ng.ps1 — to najczęstszy problem pierwszego uruchomienia. Opis i naprawa są w następnej sekcji.
Zatrzymaj się
Wpisz where.exe ng. W jakim folderze leży program ng? Porównaj ze ścieżką z polecenia npm config get prefix.
Pierwsze uruchomienie w VS Code — czego się spodziewać
Prawie każdy, kto pierwszy raz uruchamia Angulara w VS Code na Windows, trafia na co najmniej jeden z poniższych komunikatów. Żaden nie oznacza, że coś jest zepsute na stałe.
1. „Uruchamianie skryptów jest wyłączone w tym systemie”
ng : Nie można załadować pliku C:\Users\uczen\AppData\Roaming\npm\ng.ps1,
ponieważ uruchamianie skryptów jest wyłączone w tym systemie.
+ CategoryInfo : SecurityError: (:) [], PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
Domyślnym terminalem w VS Code jest PowerShell, który ze względów bezpieczeństwa nie uruchamia skryptów .ps1 — a npm instaluje ng właśnie jako skrypt ng.ps1. Ten sam komunikat może dotyczyć npm.ps1. Masz trzy wyjścia, od najlepszego:
| Rozwiązanie | Zasięg | Kiedy |
|---|---|---|
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned | tylko Twoje konto, na stałe; nie wymaga administratora | własny komputer — zalecane także w dokumentacji Angulara |
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass | tylko bieżące okno terminala | komputer w pracowni — po zamknięciu terminala wszystko wraca |
| terminal Command Prompt zamiast PowerShell | bez zmiany ustawień | gdy żadne polecenie Set-ExecutionPolicy nie jest dozwolone |
Command Prompt włączysz w VS Code strzałką obok znaku + w panelu terminala → Command Prompt. Żeby był domyślny: ta sama strzałka → Select Default Profile → Command Prompt. Jeszcze jedna droga awaryjna: zamiast ng wpisz ng.cmd — omija skrypt .ps1.
2. „Termin ng nie jest rozpoznawany”
ng : Termin „ng” nie jest rozpoznawany jako nazwa polecenia cmdlet, funkcji,
pliku skryptu lub programu wykonywalnego.
System nie znalazł ng w żadnym folderze z Path. Sprawdź po kolei: czy instalacja npm install -g @angular/cli zakończyła się bez czerwonych błędów; czy zamknąłeś i otworzyłeś całe VS Code po instalacji; czy folder z npm config get prefix jest w Path (sekcja wyżej). W Command Prompt ten sam problem wygląda tak: „’ng’ nie jest rozpoznawane jako polecenie wewnętrzne lub zewnętrzne…”.
3. Okna, które pokaże samo VS Code
| Co widzisz | Co zrobić |
|---|---|
| Do you trust the authors of the files in this folder? | Przy własnym projekcie kliknij Yes, I trust the authors. W trybie ograniczonym (Restricted Mode) część funkcji edytora jest wyłączona. |
| Do you want to install the recommended extensions…? | Kliknij Install. Projekt poleca rozszerzenie Angular Language Service — podpowiada i sprawdza kod w plikach .html komponentów. |
Czerwone podkreślenia i Cannot find module '@angular/core’ w plikach .ts | Brak folderu node_modules (projekt skopiowany bez niego albo instalacja przerwana) — wpisz npm install w folderze projektu. Albo otworzyłeś w VS Code folder nadrzędny zamiast folderu projektu — otwórz File → Open Folder… bezpośrednio klub-gier. |
Utwórz projekt i uruchom serwer
Jedno polecenie tworzy komplet plików i pobiera biblioteki. Przełączniki odpowiadają z góry na pytania, które CLI zadałoby po kolei: zwykły CSS, bez renderowania po stronie serwera i bez plików dla narzędzi AI.
ng new klub-gier --style=css --ssr=false --ai-config=none
cd klub-gier
npm start
✔ Packages installed successfully.
...
Application bundle generation complete.
Watch mode enabled. Watching for file changes...
➜ Local: http://localhost:4200/
Instalacja bibliotek trwa od kilkunastu sekund do kilku minut. Gdy w terminalu pojawi się adres http://localhost:4200/, otwórz go w przeglądarce (z Ctrl kliknięcie w adres w terminalu) — zobaczysz stronę powitalną Angulara.
Teraz otwórz projekt w edytorze: File → Open Folder… → folder klub-gier. Od tej chwili terminal w VS Code otwiera się już w folderze projektu.
Nazwa projektu
Nazwa musi zaczynać się od litery i może zawierać tylko litery, cyfry i myślniki. ng new "Klub Gier" zakończy się komunikatem Schematic input does not validate against the Schema — przez spację. Dobre nazwy: klub-gier, sklepik, zadanie4.
npm start uruchamia serwer deweloperski — robi to samo co ng serve. Serwer działa, dopóki nie zamkniesz terminala albo nie naciśniesz Ctrl+C.
Zatrzymaj się
Polecenie ng new wykonujesz raz na projekt, a npm start — na początku każdych zajęć. Co zobaczysz w przeglądarce, gdy zatrzymasz serwer i odświeżysz stronę?
Zmień jeden napis
Najkrótsza droga do zobaczenia, że to naprawdę Twój projekt. Plik app.html zawiera kilkaset wierszy strony powitalnej — usuń je wszystkie.
<h1>Klub gier — ekran startowy</h1>
<p>Tu wkrótce pojawi się lista wydarzeń.</p>
Zapisz plik (Ctrl+S) i nie odświeżaj strony ręcznie. Przeglądarka sama pokaże nowy tekst w ułamku sekundy — serwer obserwuje pliki i po każdym zapisie przebudowuje aplikację. To przeładowanie na żywo.
Klub gier — ekran startowy
Tu wkrótce pojawi się lista wydarzeń.
W terminalu pojawi się jednocześnie żółty komunikat:
▲ [WARNING] NG8113: All imports are unused
src/app/app.ts:5:2:
5 │ imports: [RouterOutlet],
To ostrzeżenie, nie błąd — strona działa. Usunięta strona powitalna zawierała znacznik, który korzystał z RouterOutlet; teraz ten import nie jest potrzebny. W następnej lekcji uporządkujesz plik app.ts i ostrzeżenie zniknie.
Żółte czy czerwone
▲ WARNING (żółte) — kompilator zwraca uwagę, ale aplikacja działa. ✘ ERROR (czerwone) — kompilacja się nie udała, przeglądarka pokazuje ostatnią działającą wersję albo nakładkę z błędem. Czytaj zawsze pierwszy czerwony komunikat: plik i numer wiersza są podane wprost.
Zestawienie elementów
| Element | Znaczenie | Uwagi |
|---|---|---|
node --version | wersja Node.js | Angular 22: 22.22.3+, 24.15+ albo 26+. |
npm --version | wersja npm | Przychodzi z Node.js. |
npm install -g pakiet | instalacja programu dla całego konta | Trafia do folderu z npm config get prefix. |
ng version | wersje CLI, Node.js i npm | Pierwsze uruchomienie zadaje dwa pytania. |
ng new nazwa | nowy projekt w nowym folderze | Raz na projekt; nazwa bez spacji. |
--style=css --ssr=false --ai-config=none | odpowiedzi na pytania ng new | Zwykły CSS, bez SSR, bez plików dla narzędzi AI. |
cd folder | przejście do folderu | Polecenia projektu działają tylko w jego folderze. |
npm start / ng serve | serwer deweloperski | Adres http://localhost:4200/. |
ng serve --port 4300 | serwer na innym porcie | Gdy 4200 jest zajęty. |
| Ctrl+C | zatrzymanie serwera | W oknie terminala, w którym działa. |
Path | lista folderów, w których system szuka programów | Po zmianie zamknij całe VS Code. |
where.exe program | gdzie system znalazł program | Pusty wynik = programu nie ma w Path. |
Set-ExecutionPolicy -Scope CurrentUser RemoteSigned | zgoda na skrypty .ps1 dla Twojego konta | Naprawia błąd ng.ps1; bez administratora. |
| Angular Language Service | rozszerzenie VS Code | Podpowiedzi i błędy w szablonach .html. |
Zanim utkniesz
| Co widzisz | Przyczyna i naprawa |
|---|---|
ng.ps1 … uruchamianie skryptów jest wyłączone | PowerShell blokuje skrypty. Set-ExecutionPolicy -Scope CurrentUser RemoteSigned, terminal Command Prompt albo ng.cmd. |
| Termin „ng” nie jest rozpoznawany… | VS Code było otwarte podczas instalacji — zamknij je całe. Jeśli nie pomoże, dopisz wynik npm config get prefix do Path. |
| Termin „node” nie jest rozpoznawany… | Node.js niezainstalowany albo brak C:\Program Files\nodejs\ w Path. |
| The Angular CLI requires a minimum Node.js version of v22.22.3… | Za stary Node.js. Zainstaluj aktualną wersję LTS. |
| npm error enoent Could not read package.json | npm start wpisane poza folderem projektu. Najpierw cd klub-gier. |
| This command is not available when running the Angular CLI outside a workspace | To samo dla poleceń ng — terminal stoi w złym folderze. |
| Port 4200 is already in use | Serwer już działa w innym terminalu. Zatrzymaj go Ctrl+C albo użyj ng serve --port 4300. |
| Strona jest biała, w terminalu czerwony ERROR | Błąd kompilacji. Przeczytaj pierwszy komunikat — podaje plik i wiersz. |
| Żółte NG8113: All imports are unused | Tylko ostrzeżenie po wyczyszczeniu app.html. Strona działa; porządek w lekcji 02. |
| Zmiany w pliku nic nie dają | Edytujesz plik w innym folderze niż ten, w którym działa serwer, albo nie zapisałeś pliku (kropka przy nazwie karty w VS Code). |
Zadania
Zmień nagłówek w app.html na nazwę swojej klasy, np. 4TP — nasze wydarzenia, a akapit pod nim na jedno zdanie o tym, czym zajmuje się klub.
Kryterium sukcesu: nowy tekst pojawia się w przeglądarce bez ręcznego odświeżania.
Podpowiedź
Plik src/app/app.html. Pamiętaj o zapisaniu pliku.
Zbuduj w app.html wizytówkę klubu ze zwykłego HTML-a: nagłówek h1 z nazwą klubu, akapit z dniem i godziną spotkań, nagłówek h2 „Najbliższe wydarzenia” i listę ul z trzema wydarzeniami, które chciałbyś zorganizować w szkole.
Kryterium sukcesu: na stronie widać dwa nagłówki, akapit i listę wypunktowaną z trzema pozycjami.
Podpowiedź
HTML działa tu tak samo jak na zwykłej stronie. Każda pozycja listy to osobny <li>.
Zatrzymaj serwer, zamknij przeglądarkę i całe VS Code. Następnie uruchom projekt ponownie tak, żeby strona znów działała. Zapisz w zeszycie kolejne kroki — od otwarcia VS Code do zobaczenia strony.
Kryterium sukcesu: potrafisz uruchomić projekt bez zaglądania do lekcji, a Twoja lista ma nie więcej niż pięć kroków.
Podpowiedź
Otwarcie folderu, terminal, jedno polecenie, adres w przeglądarce. ng new nie jest już potrzebne.
Utwórz obok drugi projekt sklepik (te same przełączniki co w przykładzie 3) i zmień w nim napis na „Sklepik szkolny”. Uruchom oba projekty jednocześnie, każdy w osobnym terminalu. Zapisz, jaki komunikat pojawił się przy drugim serwerze i jak go obszedłeś.
Kryterium sukcesu: w dwóch kartach przeglądarki działają dwie różne strony pod dwoma różnymi adresami.
Podpowiedź
Nowy terminal otwierasz znakiem + w panelu terminala. Port zmienia przełącznik --port; przy npm start trzeba dopisać npm start -- --port 4300 albo użyć ng serve --port 4300.
Ustal, skąd system bierze programy, których używasz. Wpisz where.exe node, where.exe npm, where.exe ng i npm config get prefix. Następnie wypisz zawartość Path poleceniem $env:Path -split ';' i znajdź na liście foldery, w których leżą te trzy programy. Zapisz w zeszycie tabelkę: program → folder → czy ten folder jest w Path zmiennych użytkownika, czy systemowych (sprawdź w oknie Zmienne środowiskowe, niczego nie zmieniając).
Kryterium sukcesu: dla każdego z trzech programów potrafisz wskazać wpis w Path, dzięki któremu działa.
Podpowiedź
where.exe może zwrócić kilka plików dla jednego programu (np. ng, ng.cmd, ng.ps1) — wszystkie leżą w tym samym folderze.
Dopisz na końcu app.html zamykający znacznik bez otwierającego: </div>. Zapisz plik i odpowiedz w zeszycie na trzy pytania: jaki kod błędu podał terminal (zaczyna się od NG), w którym wierszu i kolumnie wskazał problem, oraz co w tym czasie pokazuje przeglądarka. Napraw błąd. Potem powtórz eksperyment w terminalu: wpisz npm start w folderze nadrzędnym (cd ..) i zapisz komunikat npm.
Kryterium sukcesu: masz zapisane dwa komunikaty błędów z ich przyczynami, a projekt znów działa.
Podpowiedź
Szukaj słowa ERROR i kodu NG5002. Po cd .. wróć do projektu poleceniem cd klub-gier.
Co trzeba zapamiętać
- Angular potrzebuje Node.js (z npm) i Angular CLI; Angular 22 wymaga Node.js 22.22.3+, 24.15+ albo 26+.
- System szuka programów tylko w folderach z
Path; po zmianie Path albo instalacji zamknij całe VS Code. where.exeinpm config get prefixmówią, gdzie leżą programy.- Błąd
ng.ps1naprawiaSet-ExecutionPolicy -Scope CurrentUser RemoteSigned, terminal Command Prompt albong.cmd. ng newtworzy projekt raz;npm starturuchamia serwer na każdych zajęciach.- Polecenia projektu wpisujesz w terminalu otwartym w folderze projektu.
- Strona działa pod
http://localhost:4200/, dopóki działa serwer; Ctrl+C go zatrzymuje. - Zapisanie pliku odświeża stronę samo.
- Żółte WARNING — aplikacja działa; czerwone ERROR — czytaj pierwszy komunikat, podaje plik i wiersz.
Sprawdź się: kolega zainstalował Node.js przy otwartym VS Code i dostaje komunikat, że node nie jest rozpoznawany. Co mu poradzisz w pierwszej kolejności i dlaczego?
Dokumentacja: angular.dev — przygotowanie środowiska.