Angular 컴파일러에는 TypeScript > = 3.4.0 이 필요하며, 대신 3.5.3 이 검출되었습니다.
npm 빌드 실행 시 다음 오류가 발생합니다.
Angular 컴파일러에는 TypeScript > = 3.4.0 이 필요하며, 대신 3.5.3 이 검출되었습니다.
저는 다음과 같은 것을 개별적으로 시도했습니다.
npm install typescript@"> = 3.4.0 < 3.5.0" 입니다.그런 다음 node_modules 및 package.json을 삭제했습니다.npm 설치 실행
npm update --force.그런 다음 node_modules 및 package.json을 삭제했습니다.npm 설치 실행
에러가 아직 표시됩니다.
제 소포요.json에는 다음과 같은 종속성이 있습니다.
"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은 다음과 같은 출력을 제공합니다.
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
여기서 무슨 일이 일어나고 있는 거죠?
Angular 12에 적용 가능
최신 버전의 Angular 12에서 실행 중인 프로젝트의 경우 TypeScript v4.2.x에서 4.3.x를 사용해야 합니다.
npm i -D typescript@4.3.5
Angular 11에 적용 가능
Angular 11(11.2.x)의 최신 버전에서 실행되는 프로젝트의 경우 TypeScript v4.1.5까지 지원합니다.
npm i -D typescript@4.1.5
Angular 10(2020년 6월 기준)에 적용 가능
Angular 10을 사용하는 사용자는 TypeScript 3.8에 대한 지원이 제거되었기 때문에 TypeScript 3.9를 설치해야 합니다.가장 안전한 방법은 최신 버전의 TypeScript를 설치하는 것입니다.
npm i -D typescript@3.9.5
Angular 9(2020년 5월 기준)에 적용 가능
Angular 9(v9.1.x)의 최신 버전에서 실행되는 프로젝트의 경우 TypeScript v3.8.3까지 지원합니다.이 버전보다 새로운 버전(TypeScript v3.9.0 등)을 사용하는 경우 다운그레이드하여 지원되는 버전을 설치해야 합니다.
npm i -D typescript@3.8.3
이전 버전의 Angular 9(v9.0.x)에서 실행되는 프로젝트의 경우 지원되는 TypeScript 버전은 TypeScript v3.6.5에서 v3.7.5(포함)입니다.기타 지원되지 않는 버전(3.8.3 등)을 설치하면 다음과 같은 오류가 발생합니다.
ERROR in The Angular Compiler requires TypeScript >=3.6.4 and <3.8.0 but 3.8.3 was found instead
이 문제를 해결하려면 오류 메시지에 나와 있는 지원되는 버전을 설치해야 합니다.Typescript 3.7.x 를 인스톨 하는 것을 추천합니다.이것에 의해, 옵션의 체인 접속이나 Nullish 결합등의 편리한 기능이 언락 됩니다.
npm i -D typescript@3.7.5
또는 Angular를 최신 마이너 버전(v9.1.x)으로 업데이트하기만 하면 됩니다.이 버전에는 변경 사항이 포함되지 않습니다.
Angular 8에 적용 가능(원래 답변)
TypeScript의 최신 버전(v3.5.3)이 설치되어 있는 것 같습니다.대신 Angular 8에서 지원되는 버전인 TypeScript v3.4.5를 설치해야 합니다.
이 명령을 사용하여 최신 버전이 아닌 특정 버전의 TypeScript를 설치할 수 있습니다.
npm i -D typescript@3.4.5
캐럿을 하는 것도 해 볼 수 .^TypeScript 버버j jjjjson : json :
완전히 삭제하면 npm이 최신 마이너버전(3.5.3)을 설치/사용할 수 없게 됩니다.
"typescript" : "3.4.5"
"~"로 변경하면 npm에 모든 패치릴리즈가 허용됨을 알립니다.
"typescript" : "~3.4.5" // 는 3.4 와 일치하는 최신 버전을 사용합니다.x
npm 패키지 버전 관리 사용 방법에 대한 자세한 내용은http://https://docs.npmjs.com/about-semantic-versioning 를 참조해 주세요.
Angular 2 ~ 7과 같은 이전 Angular 버전을 작업 중인 사용자에게 적용됩니다.
|-----------------|--------------------|
| Angular version | TypeScript version |
|-----------------|--------------------|
| 6.1.x | 3.6.x |
|-----------------|--------------------|
| 7.2.x | 2.9.x |
|-----------------|--------------------|
마찬가지로 다른 Angular 버전을 사용하는 경우 해당 TypeScript 버전을 설치할 수 있습니다.
npm i -D typescript@3.6.4
소스 - 각 Angular 버전에 대해 지원되는 TypeScript 버전의 전체 목록을 참조하십시오.
기타 유용한 정보
실제로 프로젝트 내에 설치된 Angular 버전에서는 지원되지 않는 TypeScript 버전을 설치하는 방법이 있습니다(felipesilva에서 지적한 바와 같이).이를 통해 얻을 수 있는 이점 중 하나는 최신 버전의 TypeScript를 설치할 수 있다는 것입니다(예:TypeScript 4.1.2( ) 。
★★★★★★★★★★★★★★★★★★★★★★★에tsconfig.json 간단하게 설정할 수 있습니다.disableTypeScriptVersionCheck as ~하듯이true.
{
// ...
"angularCompilerOptions": {
// ...
"disableTypeScriptVersionCheck": true
}
}
단, 공식 Angular 문서에서는 권장하지 않습니다.
지원되지 않는 버전의 TypeScript는 정의되지 않은 동작이 있을 수 있으므로 권장되지 않습니다.
두 가지 옵션이 있습니다.
1-자동:
올바른 버전이 설치됩니다(오류에 따라 버전 번호 변경).
npm install typescript@">=3.4.0 and <3.5.0" --save-dev
2-수동:
go to 에 가다package.json and change your 변경해 주세요typescript version, If you want to upgrade your angular project to버전, 각도 프로젝트를 업그레이드하려면
각도 15 (npm install typescript@"~4.8.0" --save-dev)
"devDependencies": {
...
"typescript": "~4.8.0"
}
각도 14 (npm install typescript@"~4.7.0" --save-dev)
"devDependencies": {
...
"typescript": "~4.7.0"
}
각도 13 (npm install typescript@"~4.4.0" --save-dev)
"devDependencies": {
...
"typescript": "~4.4.0"
}
각도 12 (npm install typescript@"~4.2.0" --save-dev)
"devDependencies": {
...
"typescript": "~4.2.0"
}
각도 11 (npm install typescript@"~4.0.0" --save-dev)
"devDependencies": {
...
"typescript": "~4.0.0"
}
각도 10 (npm install typescript@"~3.8.0" --save-dev)
"devDependencies": {
...
"typescript": "~3.8.0"
}
각도 9 (npm install typescript@"~3.7.0" --save-dev)
"devDependencies": {
...
"typescript": "~3.7.0"
}
각도 8 (npm install typescript@"~3.4.0" --save-dev)
"devDependencies": {
...
"typescript": "~3.4.0"
}
각도 7 (npm install typescript@"~3.1.0" --save-dev)
"devDependencies": {
...
"typescript": "~3.1.0"
}
각도 6 (npm install typescript@"~2.9.0" --save-dev)
"devDependencies": {
...
"typescript": "~2.9.0"
}
각도 4(npm install typescript@"~2.2.0" --save-dev)
"devDependencies": {
...
"typescript": "~2.2.0"
}
그런 다음 실행합니다.
npm install
이 스크립트를 실행하여 정확한 버전 찾기
npm install typescript@">=3.4.0 and <3.5.0" --save-dev
다음 명령을 사용하여 typescript를 제거하십시오.
npm uninstall typescript
를 인스톨 해, 타입 스크립트 고유의 버전을 인스톨 합니다.
npm i --save-dev typescript@3.4.5
나는 이 문제를 겪고 있었다.Angular 9그리고 다른 버전 번호를 가지고 있습니다.
Angular 컴파일러 오류: TypeScript > = 3.6.4가 필요하며, 대신 3.8.0이 검출되었습니다.
제가 뭘 했냐면
- Angular 9 브레이크 체인지로 이동
- 검색할 수 있습니다.
typescript버전에는 3.7만 지원한다는 것을 발견했습니다. - 내 편집
typescript의 버전package.json~하듯이"typescript": "~3.7.0" - 뛰었다
npm i
그~여기서 중요한 것은 다음 패치버전으로만 업데이트가 이루어지기 때문입니다(<3.8.0를 사용하는 경우 마이너버전이 아닙니다.^마이너 버전으로도 갱신됩니다(예를 들어,4.0.0).
틀렸어 ^"typescript": "^3.4.0"당신의 패키지에.json
해결책은"typescript": "~3.4.0"
내 경우 Angular 10에서 Angular 11로 이행할 때 이 오류가 발생하였습니다.
An unhandled exception occurred: The Angular Compiler requires TypeScript >=4.0.0 and <4.2.0 but 4. 2.3 was found instead.
이 문제를 해결하기 위해 Angular 프로젝트가 있는 Visual Studio에서 다음 코드를 사용했습니다.
npm install typescript@'>==4.0.0 <4.2.0'
다음을 수행합니다.
npm i --save-dev typescript@~3.4.5
좋은 소식이야!
Angular 8.2+로 업그레이드하면 TypeScript 3.5를 사용할 수 있습니다.버전 8.1에서는 아직 지원되지 않습니다.
실증: https://github.com/angular/angular-cli/issues/15134#issuecomment-516908416
각도 프로젝트를 각도 11로 업그레이드하려는 경우
npm install typescript@">=4.0.0 and <4.2.0" --save-dev
포장되어 있습니다.json:
"devDependencies": {
...
"typescript": "^4.1.5"
}
이 문제는 주로 @angular/cli 버전에 의존하므로 typescript는 angular 버전에 의존합니다.
업데이트 시 이 웹 사이트(devDependency)를 확인합니다.
https://david-dm.org/angular/angular-cli
하고 있다
npm i --save-dev typescript@3.4.5
3.4.5 버전 필요
이 명령어를 사용해 주세요.감사해요.
npm i typescript@">=3.6.4 <3.8.0"
대신"typescript": "^3.4.5"아래devDependencies당신의 안에서package.json파일 입력"typescript": "~3.4.5"파일을 저장하고 npm install을 다시 실행합니다.그것은 나에게 효과가 있었다.
오류에서 권장하는 대로 특정 버전의 타이프스크립트를 설치할 수 있도록 타이프스크립트를 제거한 후 다시 설치할 필요가 없습니다.
npm install typescript@ version
아니면 도망갈 수도 있고
npm install typescript@ version --save-dev
패키지 json에 저장하기 위해
Angular 11 사용
npm i -D typescript@4.0.5
유사한 오류가 발생하면 다음과 같이 실행합니다.
yarn clean cache
npm을 사용하는 경우 다음을 실행할 수 있습니다.
npm clean cache
그것이 100% 해결책이 될지는 모르겠지만 누군가에게 도움이 되었으면 합니다.
마지막 tsconfig.js 파일로 이동하여 다음과 같이 angularCompilerOptions 블록 속성에 disableTypeScriptVersionCheck를 추가합니다.
"angularCompilerOptions": {
"disableTypeScriptVersionCheck": true, <-- this prop
}
}
Follow this link for angularCompilerOptions: https://angular.io/guide/angular-compiler-options#disabletypescriptversioncheck
언급URL : https://stackoverflow.com/questions/57216110/the-angular-compiler-requires-typescript-3-4-0-and-3-5-0-but-3-5-3-was-found
'programing' 카테고리의 다른 글
| WooCommerce 새 주문 작업 - 주문 정보 가져오기 (0) | 2023.03.22 |
|---|---|
| YAML과 JSON의 차이점은 무엇입니까? (0) | 2023.03.22 |
| 반응에서 Enter 키를 눌렀을 때 TextField 값을 얻는 방법은 무엇입니까? (0) | 2023.03.22 |
| prevState 인수를 사용하여 setState 메서드를 반응시킵니다. (0) | 2023.03.22 |
| 각도 지시 장치 테스트에서의 모킹 컨트롤러 인스턴스화 (0) | 2023.03.22 |
