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? 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.
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]
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
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
To co zrobiłem było,
- poszedł do kątowe 9 zmian
- wyszukano wersję
typescript
i okazało się, że obsługuje tylko 3.7 - Edytuj moją wersję
typescript
wpackage.json
jako"typescript": "~3.7.0"
- 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
).
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
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"
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
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
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
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.
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
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"
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]
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