인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

hna206님의 프로필 이미지
hna206

작성한 질문수

한 입 크기로 잘라먹는 타입스크립트(TypeScript)

타입스크립트 컴파일러 옵션 설정하기

강의중 오류가 나왔습니다

해결된 질문

작성

·

1.1K

0

해당강의 따라하던중

compilerOptions 에서 target 을 ES5로 했을때는 아무오류 없이 js 파일도 잘 나오는데요, ESNext로 하고 컴파일하면 오류가 나와요. 하지만 동일하게 js파일은 생성이 되요.

스크린샷 2024-01-20 오후 11.16.52.png

node_modules/@types/node/globals.d.ts:396:25 - error TS2792: Cannot find module 'undici-types'. Did you mean to set the 'moduleResolution' option to 'nodenext', or to add aliases to the 'paths' option?

396 : typeof import("undici-types").FormData;

 

제가 뭘 따로 설치하거나 하진 않고 강의만 따라했다고 생각했는데 한번만 봐주세요! 스크린샷 2024-01-20 오후 11.19.08.png

 

답변 4

1

이정환 Winterlood님의 프로필 이미지
이정환 Winterlood
지식공유자

안녕하세요 이정환입니다,.

아이코 !! 보내셨었군요 제가 미처 확인을 못했습니다 (단독 터미널 사진으로 보내주실거라 생각했나봐요 죄송해요)

우선 해당 오류는 @types/node 설치시 함께 설치되는 undici-types 라는 라이브러리의 타입 검사 도중 발생하는 것으로 보입니다.

따라서 다음 옵션을 tsconfig.json의 copmilerOptions 내부에 추가해주셔야 합니다.

  "compilerOptions": {
    // (...)
    "skipLibCheck": true,
  },

위 옵션은 타입 정의 파일(.d.ts 확장자를 갖는 파일을 의미합니다 우리 수업에서는 나중에 배웁니다)의 타입 검사를 생략하는 옵션입니다. 보통 타입 정의 파일은 라이브러리에서 사용하는데 가끔 라이브러리의 타입 정의 파일에서 타입 오류가 발생하는 일이 발생할 수 있습니다. 따라서 해당 옵션을 true로 설정하셔서 불 필요한 타입 정의 파일의 타입 검사를 생략하도록 설정해주시기 바랍니다.

이정환 Winterlood님의 프로필 이미지
이정환 Winterlood
지식공유자

추가로 다른 분들께서도 동일한 불편 사항을 겪으실 것 같아

아래 그림처럼 바로 오류 대응법 자료를 확인하실 수 있도록 올려두었습니다.

image

"hna206"님이 올려주신 친절한 질문 덕분에 확인할 수 있었습니다. 정말 감사합니다!!

hna206님의 프로필 이미지
hna206
질문자

신경써주셔서 감사합니다 해당 옵션 추가하니 문제없이 잘 작동됩니다!

 

스크린샷 2024-01-31 오후 10.57.06.png오타 하나 제보합니다. 23년 11월이 맞을것같아요

0

이정환 Winterlood님의 프로필 이미지
이정환 Winterlood
지식공유자

안녕하세요 이정환입니다.

늦게 보내주셔도 괜찮습니다 😊

우선 현재 Node.js 버전을 확인 해 보셔야 할 것 같습니다.

Node.js 버전은 터미널에 node -v 라고 입력하시면 출력됩니다

이 버전이 20버전 이하라면 제거하시고 다시 20버전으로 설치하여 진행하셔야 할 것 같습니다.

감사합니다.

hna206님의 프로필 이미지
hna206
질문자

제가 답장으로 올려드린 스크린샷에 npm과 노드 버전도 사진찍어 올려드렸는데 한번 확인해주실 수 있을까요?(터미널 2개중에 오른쪽 터미널)

0

이정환 Winterlood님의 프로필 이미지
이정환 Winterlood
지식공유자

안녕하세요 이정환입니다.

혹시 Node.js 20 버전을 사용하고 계신지 체크 해 보실 수 있을까요?

@types/node가 20버전으로 설치되었다면

Node.js도 20버전으로 설치되어 있어야 정상 작동하는것으로 확인되었습니다.

확인 부탁드립니다!

 

(친절한 캡쳐와 상세한 설명 감사합니다 🙇‍♂)

hna206님의 프로필 이미지
hna206
질문자

답이 너무많이 늦어버렸네요 죄송합니다

스크린샷 2024-01-29 오후 9.55.50.png스크린샷 2024-01-29 오후 9.57.07.png위에사진은 오류메시지 전문이구요

아래사진은 오류난 파일에 오류난 부분이예요

버전은 맞게 되어있는것같은데 혹시모르니 한번만 확인부탁드립니다!
오류가 너무많아 어떤걸 복사해서 올려야할지 잘 모르겠어요 하하;;

 

node_modules/@types/node/globals.d.ts:6:76 - error TS2792: Cannot find module 'undici-types'. Did you mean to set the 'moduleResolution' option to 'nodenext', or to add aliases to the 'paths' option?

6 type _Request = typeof globalThis extends { onmessage: any } ? {} : import("undici-types").Request;

node_modules/@types/node/globals.d.ts:11:14 - error TS2792: Cannot find module 'undici-types'. Did you mean to set the 'moduleResolution' option to 'nodenext', or to add aliases to the 'paths' option?

11 : import("undici-types").RequestInit;

 

 

node_modules/@types/node/globals.d.ts:380:25 - error TS2792: Cannot find module 'undici-types'. Did you mean to set the 'moduleResolution' option to 'nodenext', or to add aliases to the 'paths' option?

380 : typeof import("undici-types").Request;

0

hna206님의 프로필 이미지
hna206
질문자

계속 따라하다가 "module"도 "CommonJS"로 설정해놓고 tsc 컴파일하면 오류없이 해당설정으로 js 파일 생성되는데 다시 모듈도 "ESNext" 로 설정후 재컴파일하면 동일한 오류들이 뜨네요. 하지만 컴파일된 js파일은 잘 생성되요

hna206님의 프로필 이미지
hna206

작성한 질문수

질문하기