Kompilator Angular wymaga TypeScript> = 3.4.0 i

Otrzymuję następujący błąd podczas wykonywania npm run build:

Kompilator Angular wymaga TypeScript > = 3.4.0 i

Próbowałem następujących rzeczy osobno:

Npm install typescript@ "> =3.4.0

Npm update -- force. Następnie usunięte node_modules i pakiet.json. Uruchom npm install

I ' m still otrzymanie błędu:

Moja paczka.json zawiera następujące zależności:
  "dependencies": {
    "@angular/animations": "8.1.0",
    "@angular/cdk": "^8.0.2",
    "@angular/cli": "^8.1.0",
    "@angular/common": "8.1.0",
    "@angular/compiler": "8.1.0",
    "@angular/core": "8.1.0",
    "@angular/forms": "8.1.0",
    "@angular/http": "7.2.15",
    "@angular/material": "^8.0.2",
    "@angular/platform-browser": "8.1.0",
    "@angular/platform-browser-dynamic": "8.1.0",
    "@angular/router": "8.1.0",
    "@ngx-translate/core": "^11.0.1",
    "@ngx-translate/http-loader": "^4.0.0",
    "angular-user-idle": "^2.1.2",
    "angular2-cookie": "^1.2.6",
    "core-js": "^2.6.7",
    "rxjs": "6.5.2",
    "rxjs-tslint": "^0.1.5",
    "stream": "0.0.2",
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "^0.801.0",
    "@angular/compiler-cli": "8.1.0",
    "@angular/language-service": "8.1.0",
    "@types/jasmine": "~3.3.13",
    "@types/jasminewd2": "~2.0.6",
    "@types/node": "~12.6.1",
    "jasmine-core": "~3.4.0",
    "jasmine-spec-reporter": "~4.2.1",
    "protractor": "~5.4.2",
    "ts-node": "~8.3.0",
    "tslint": "~5.18.0",
    "typescript": "^3.4.5"
  }

Ng --version daje następujące Wyjście:

Angular CLI: 8.1.2
Node: 10.16.0
OS: win32 x64
Angular: 8.1.0
... animations, common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... router

Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.801.2
@angular-devkit/build-angular     0.801.2
@angular-devkit/build-optimizer   0.801.2
@angular-devkit/build-webpack     0.801.2
@angular-devkit/core              8.1.2
@angular-devkit/schematics        8.1.2
@angular/cdk                      8.1.1
@angular/cli                      8.1.2
@angular/http                     7.2.15
@angular/material                 8.1.1
@ngtools/webpack                  8.1.2
@schematics/angular               8.1.2
@schematics/update                0.801.2
rxjs                              6.5.2
typescript                        3.5.3
webpack                           4.35.2
Co tu może być nie tak?
Author: user5155835, 2019-07-26

13 answers

Dotyczy kątowej 11

Dla projektów, które działają na najnowszych wersjach Angular 11, obsługuje do TypeScript v4. 0.5.

npm i -D [email protected]

Dotyczy kątowej 10 (Stan na Czerwiec 2020)

Dla tych, którzy używają Angular 10 RC, należy pamiętać, że TypeScript 3.9 musi być zainstalowany, ponieważ opiekunowie mają usunięte wsparcie dla TypeScript 3.8 . Najbezpieczniej będzie zainstalować najnowszą wersję TypeScript

npm i -D [email protected]

Dotyczy kątowej 9 (stan na Maj 2020)

Dla projektów, które działają na najnowszych wersjach Angular 9 (v9. 1.x ), obsługuje do TypeScript v3. 8. 3. Jeśli używasz czegoś nowszego (takiego jak TypeScript v3.9.0), powinieneś obniżyć jego wersję i zainstalować obsługiwane wersje:

npm i -D [email protected]

Dla projektów, które działają na wcześniejszych wersjach Angular 9 (v9. 0.x), obsługiwane wersje maszynopisu to TypeScript v3. 6. 5 do v3.7.5 (włącznie). Instalowanie innych nie wspierane wersje (takie jak 3.8.3) spowodowałyby błąd podobny do tego:

ERROR in The Angular Compiler requires TypeScript >=3.6.4 and <3.8.0 but 3.8.3 was found instead

Aby to naprawić, należy zainstalować obsługiwane wersje podane w komunikacie o błędzie. Polecam zainstalować Typescript 3.7.x, ponieważ odblokuje to przydatne funkcje, takie jak opcjonalne łączenie i zerowe łączenie.

npm i -D [email protected]

Alternatywnie, możesz po prostu zaktualizować Angular do najnowszej wersji minor (v9. 1.x), ponieważ nie powinno to zawierać żadnych zmian łamiących.


Dotyczy for Angular 8 (Original Answer)

Wygląda na to, że masz zainstalowaną najnowszą wersję (v3.5.3) maszynopisu. Zamiast tego powinieneś zainstalować TypeScript v3.4.5, który jest wersją obsługiwaną przez Angular 8.

Możesz wypróbować to polecenie, aby zainstalować konkretną wersję maszynopisu, a nie najnowszą wersję.

npm i -D [email protected]

Ponadto warto rozważyć zmianę karetki ^ dla wersji maszynopisu na Twoim paczka.json:

  • Usunięcie go całkowicie oznacza, że uniemożliwi npm instalowanie / używanie najnowszej wersji minor (3.5.3).

    "typescript": "3.4.5"

  • Zmiana go na " ~ " powie npm, że każda wersja patcha jest akceptowalna

    "typescript": "~3.4.5 " / / użyje najnowszej wersji, która pasuje do 3.4.X

Aby uzyskać więcej informacji o używaniu wersji pakietów npm: https://docs.npmjs.com/about-semantic-versioning


Dotyczy tych, którzy pracują na starszych wersjach kątowych, takich jak kątowe 2 do 7

|-----------------|--------------------|
| Angular version | TypeScript version |
|-----------------|--------------------|
|       6.1.x     |       3.6.x        |
|-----------------|--------------------|
|       7.2.x     |       2.9.x        |
|-----------------|--------------------|                                 

Podobnie, jeśli używamy innych wersji kątowych, możesz zainstalować odpowiednie wersje maszynopisu.

npm i -D [email protected]

Source - Zobacz pełną listę obsługiwanych wersji maszynopisu dla każdej wersji kątowej.


Dodatkowe przydatne informacje

Jest rzeczywiście sposób, aby zainstaluj wersje maszynopisu, które nie są obsługiwane przez wersję Angular zainstalowaną w Twoim projekcie, jak wskazuje felipesilva . Jedną z zalet takiego działania jest możliwość zainstalowania najnowszych wersji maszynopisu (np. TypeScript 4.1.2 lub dowolnej wersji beta) w projekcie.

Na Twoim tsconfig.json, możesz po prostu ustawić disableTypeScriptVersionCheck jako true.

{
  // ...
  "angularCompilerOptions": {
    // ...
    "disableTypeScriptVersionCheck": true
  }
}

Należy jednak pamiętać, że nie jest to zalecane przez oficjalny kąt dokumentacja :

Nie zaleca się, ponieważ nieobsługiwane wersje maszynopisu mogą mieć nieokreślone zachowanie.

 193
Author: wentjun,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-12-05 04:46:29

Proszę odinstalować typescript używając następującego polecenia:

npm uninstall typescript

A następnie zainstaluj wersję typescript:

npm i --save-dev [email protected]
 14
Author: avinashkr,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-07-26 08:48:40

Uruchom ten skrypt, aby znaleźć dokładną wersję

npm install typescript@">=3.4.0 and <3.5.0" --save-dev
 12
Author: Mohammad,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-05-13 05:58:25

Też miałem ten problem w moim Angular 9, ale z różnymi numerami wersji.

Błąd w kompilatorze Angular wymaga TypeScript > = 3.6.4 i

Tutaj wpisz opis obrazka

To co zrobiłem było,

  1. poszedł do kątowe 9 zmian
  2. wyszukano wersję typescript i okazało się, że obsługuje tylko 3.7
  3. Edytuj moją wersję typescript w package.json jako "typescript": "~3.7.0"
  4. ran npm i

The ~ tutaj jest ważne, ponieważ upewni się, że zaktualizuje się tylko do następnej wersji łatki (3.8.0), a nie do wersji pobocznych, jeśli użyjesz ^ to zaktualizuje się również do wersji pobocznych(na przykład, 4.0.0).

 9
Author: Sibeesh Venu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-02-21 15:56:39

Masz dwie opcje:

1-automatycznie:

To zainstaluje odpowiednią wersję

npm install typescript@">=3.4.0 and <3.5.0" --save-dev

2-ręcznie:

Przejdź do package.json i zmień swoją wersję typescript, jeśli chcesz uaktualnić swój projekt angular do

Kątowe 11 (npm install typescript@"~4.0.0" --save-dev)

"devDependencies": {
  ...
  "typescript": "~4.0.0"
}

Kątowe 10 (npm install typescript@"~3.8.0" --save-dev)

"devDependencies": {
  ...
  "typescript": "~3.8.0"
}

Kątowe 9 (npm install typescript@"~3.7.0" --save-dev)

"devDependencies": {
  ...
  "typescript": "~3.7.0"
}

Kątowe 8 (npm install typescript@"~3.4.0" --save-dev)

"devDependencies": {
  ...
  "typescript": "~3.4.0"
}

Kątowa 7 (npm install typescript@"~3.1.0" --save-dev)

"devDependencies": {
  ...
  "typescript": "~3.1.0"
}

Następnie uruchom:

npm install 
 5
Author: AbolfazlR,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-12-09 09:46:31

Twój błąd to " ^ " "typescript": "^3.4.0" w Twojej paczce.json

Rozwiązaniem jest "typescript": "~3.4.0"

 3
Author: x-rw,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-11-17 03:54:02

Uruchom to:

npm i --save-dev typescript@~3.4.5
 2
Author: Jeremy Moritz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-07-29 14:29:39

Dobre wieści!

Możesz użyć TypeScript 3.5, jeśli uaktualnisz do Angular 8.2+. Wersja 8.1 nie obsługiwała go jeszcze.

Dowód: https://github.com/angular/angular-cli/issues/15134#issuecomment-516908416

 2
Author: Alexey Grinko,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-02-05 18:12:41

Ten problem zależy głównie od wersji @ angular/cli tak więc typescript jest zależny od wersji kątowej

Po aktualizacji sprawdź tę stronę (devDependency)

Https://david-dm.org/angular/angular-cli

I do

Npm i --save-dev [email protected]

Wymagana jest Wersja 3.4.5

 1
Author: G SAIBABU,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-07-26 11:22:32

Zamiast "typescript": "^3.4.5" Pod devDependencies w pliku package.json wpisz "typescript": "~3.4.5" i zapisz plik, a następnie uruchom ponownie npm install. U mnie zadziałało.

 1
Author: Binod Karunanayake,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-10-28 05:53:57

Nie musisz odinstalowywać i ponownie instalować maszynopisu, aby można było zainstalować określoną wersję maszynopisu zgodnie z zaleceniami w błędzie.

npm install typescript@ version

Or you can run

npm install typescript@ version --save-dev

Aby zapisać go w pakiecie json

 0
Author: Lokindra Dangi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-02-19 14:25:27

Użyj tego polecenia.. Dzięki

npm i typescript@">=3.6.4 <3.8.0"
 0
Author: M Danial,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-06-22 08:54:32

Using Angular 11 use

npm i -D [email protected]
 0
Author: Naraku,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2021-01-08 19:18:37