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

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

Roy13님의 프로필 이미지

작성한 질문수

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

Hello TS World!

설치 오류 해결책을 모르겠습니다. (설치관련)undici-types

작성

·

2.4K

1

전부다 설치완료 후 tsc를 입력 할 경우 이런 에러가 나옵니다.

 npm i @types/node 설치후의 이미지 올리는데(이전 과 다르게 설치됨) 이전에는 설치 잘 됐었는데 이번에 재설치를 해도 문제가 계속 발생하고 있습니다. 

스크린샷 2023-10-21 01.39.34.png스크린샷 2023-10-21 01.39.50.png

답변 5

12

일리님의 프로필 이미지

해당 에러를 저도 만났는데, types/node npm 에 들어가보니 특정버전이후로 undici-types 에 디펜던시가 생긴것같아요.
https://www.npmjs.com/package/@types/node
node_modules 삭제하신 후
npm i @types/node@20.8.0
사용하셔서 해당 버전으로 types/node 설치하시면 에러 안날 거에요!

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

답변 감사드립니다. 확실히 노드모듈 지우고 명령어 입력하니 undici-types가 사라진 것이 나왔습니다.

0

이승준님의 프로필 이미지

안녕하세요 혹시 제 vscode에서는 한글번역으로 해석이 나오지 않는데 혹시 해결할 수 있는 방법이 있을까요...

0

chris님의 프로필 이미지

저도 같은에러 발생했습니다

tsconfig.json -> compilerOptions -> "moduleResolution" :"Node" 를 추가 후 해결되었는데 특별히 문제가 없는건지 궁금합니다

node version: 20.10.0

@types/node version: 20.10.6

image

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

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

이렇게 진행하셔도 문제는 없습니다. 다만 아래와 같이 해결하시는 것을 더 권장드립니다.

  • node 버전 20대로 업그레이드

  • @types/node 버전 20대로 업그레이드

  • tsc 대신 tsx 설치 후 실행

tsx에 대한 이야기는 강의 노트에 작성되어 있습니다.

이렇게 하셨는데도 문제가 발생하신다면 알려주세요! 바로 살펴보겠습니다.

감사합니다 이정환 드림

강용석님의 프로필 이미지

tsx를 할려면 하나씩 파일을 지정해 줄수밖에 없는데 src폴더내에 있는 ts파일들을 자동으로 인식되게 할수 있을까요? include ["src"]를 넣어도 안되던데요..

0

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

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

Node.js나 TypeScript 버전 이슈가 있는 듯 합니다.

그게 아니라면 tsconfig.json의 설정이 잘못 된 것 같은데요

현재 Node.js 버전을 확인해보시기 바랍니다

버전 확인 방법은 터미널에 "node -v"를 입력하시면 됩니다.

설치된 버전이 18 혹은 20 버전이지 않으면 안정적인 버전이 아니므로 의도치 않은 동작이 발생할 수 있습니다.

다음으로는 현재 VsCode에서 사용중인 TS 버전을 확인해보시기 바랍니다.

TS 버전을 확인하는 방법은 Ctrl + Shift + P (Command + Shift + P)를 누르신 다음 나타나는 검색창에 다음 그림처럼 "TypeScript 버전 선택"이라는 옵션을 선택하시면 됩니다.

image그럼 다음 그림처럼 현재 VsCode가 사용중인 버전이 나타나는데요 이때 TypeScript 버전이 5.x.x 대 버전인지 확인해보시기 바랍니다.

image만약 그래도 문제가 해결되지 않는다면

현재 프로젝트의 코드를 깃허브나 코드샌드박스로 묶어 저에게 링크로 보내주시면 직접 살펴보겠습니다

감사합니다.

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

스크린샷 2023-10-30 00.26.52.pngLinklink

안녕하세요 완벽히 해결이 안되어서 답장드립니다.

초반에 sudo npm install ts-node -g로 설치 하고

ts-node src/index.ts 로 실행할때는 출력이 됐는데요 그 다음 강의에 tsconfig.json 옵션들 입력해가면서 마지막에 ts-node src/index.ts실행에러가 나서요

님이 주신 답변에 따라 사전에 노드js가 버전문제인거 같아 16에서 20버전으로 (생각보다 어려워서 덮어쓰기 인스톨을 감행)결국 v20.9.0이 되었구요npm 10.1.0 이 됐습니다. ts는 5버전입니다.

처음 타입스크립트 설정 시 조금 미심쩍은 것은 npm i @types/node가 역시 undici-types가 같이 설치되는 관계로 노드 모듈만 지우고 npm i @types/node@20.8.0로 설치해 해결을 봤습니다.이 명령어로는

HelloTS World강의해서 문제없이 실행됐습니다.

그 다음강의 타입스크립트 컴파일러옵션 에서 결국은 에러만 나왔습니다. 맞게 깃헙에 올리는지 모르겠는데 확인 부탁 드립니다.

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요 Roy13 님, 인프런 AI 인턴이에요.
설치 관련 오류에 대해서는 명확한 원인을 파악하기 어려울 수 있습니다. 그러나 오류 메시지를 확인해보니 undici-types와 관련된 문제로 보입니다.

일반적인 오류 해결 방법으로는 다음과 같은 절차를 시도해볼 수 있습니다:
1. package.json 파일을 열어 @types/node의 버전 확인 또는 dependenciesdevDependenciesundici-types와 충돌하는 패키지가 있는지 확인해보세요.
2. 해당 프로젝트의 의존성을 모두 삭제한 후, 다시 설치해보세요. (npm install 또는 yarn install 명령어를 사용하세요.)
3. package-lock.json 파일도 함께 삭제한 후, 다시 설치를 시도해보세요.
4. 만약 필요하다면 Node.js의 버전을 업데이트하거나 다운그레이드해보세요.

만약 위의 절차를 시도해도 문제가 해결되지 않는다면, 해당 오류에 대해 더 자세한 정보를 알아야 정확한 도움을 드릴 수 있습니다. 구체적인 에러 메시지와 함께 더 많은 정보를 제공해주시면 도움이 될 것입니다. 감사합니다!

Roy13님의 프로필 이미지

작성한 질문수

질문하기