inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

5.1) 실습 준비하기

vite 리액트 설치에 대해 질문있습니다.

해결된 질문

306

부드러운 족제비

작성한 질문수 66

0

안녕하세요 리액트 설치 에러에 대해 질문이 있습니다. 원래 vite로 리액트를 설치해서 잘 사용하고 있었는데 어제 새로운 프로젝트를 할려고 vite로 리액트를 설치했고 npm i 명령어로 node_modules를 받은 후 npm run dev로 실행을 하니 이미지처럼 오류가 계속 나더라구요. 그래서 저 에러에 대해 이것저것 찾아보니 node버전 문제라고 나오는데 현재 버전은 v20.11.1 인데 뭐가 문제인건지 모르겠습니다.

 

스크린샷 2025-07-23 오전 12.33.39.png.webp

 

javascript react node.js

답변 3

0

이정환 Winterlood

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

2025년 7월 23일 기준 현재 Node.js의 LTS 버전은 22.x 버전입니다. 과거의 LTS 버전인 20.x 버전을 사용하고 계시다면 오류가 발생할 수 있으니 Node.js 버전을 업그레이드 하시면 문제가 해결될 것 같습니다.

0

부드러운 족제비

답변주셔서 감사합니다 버전 업그레이드 바로 해보겠습니다^^

0

eggmun(문성진)

예상되는 문제의 원인은 최근 설치하신 Vite 버전이 7버전으로 생각되며, Vite 버전과 Node 버전의 호환성 문제로 발생한거 같습니다.

Vite 7 버전부터는 Node.js 버전에 대한 명확한 요구사항이 있습니다!

  • Vite 7 이상 버전은 반드시 Node.js 20.19 이상 또는 22.12 이상을 요구합니다.

     

이로 인해 현재 사용 중인 Node.js 버전이 Vite 7이 요구하는 최소 버전에 미치지 못하면, 위와 같은 에러(crypto.hash is not a function)가 발생할 수 있습니다.

해결 방법으로는 node 버전을 올리거나 vite 버전을 낮추거나 해야 될 거 같습니다

 

자세한 내용은 공식 문서에서 확인하실 수 있습니다.

https://vite.dev/blog/announcing-vite7

1

부드러운 족제비

아 설명해주셔서 너무 감사드립니다^^

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 부드러운 족제비님.

Vite로 리액트 프로젝트를 실행하려고 할 때 발생하는 오류에 대해 설명해드리겠습니다. 주로 TypeError: crypto.hash is not a function라는 오류는 Node.js 버전이 잘못되었거나 필요한 특정 기능이 활성화되지 않은 경우에 나타날 수 있습니다.

에러의 원인과 해결 방안

  1. Node.js 버전 문제:

    • 현재 사용하시는 Node.js의 버전(v20.11.1)이 최신 버전이긴 하지만, 경우에 따라 특정 모듈의 업데이트가 충분히 이루어지지 않을 수 있습니다. 특히 crypto 모듈은 Node.js의 기본 내장 모듈로, 사용하고 있는 버전이 간혹 문제가 될 수 있으니 약간의 버전 변경을 고려해 보세요. v20.x.x의 안정된 릴리즈를 사용해 보세요. 다른 버전(예: v18.x.x 또는 v16.x.x)을 설치해보기도 권장됩니다.
  2. crypto 모듈 확인:

    • crypto 모듈은 예전 버전의 Node.js에서는 일부 기능이 비활성화되어 있을 수 있습니다. 따라서 require('crypto')에서 필요한 기능을 명시적으로 불러오고 있는지를 확인하세요. 필요하다면 require('crypto').createHash('algorithm')와 같은 형태로 호출해 보세요.
  3. dependencies 확인:

    • 사용하고 있는 npm 패키지들이 최신의 Node.js 버전과 호환되는지 확인해 주세요. package.json 파일에서 관련된 모듈 버전을 최신으로 업그레이드하거나 필요한 경우 이전 버전으로 다운그레이드 해보세요.
  4. Config 파일 확인:

    • vite.config.js 혹은 vite.config.ts 파일 내에서의 설정 문제가 있는지 확인해 보세요.

추가적으로 도움이 될만한 자료

위 방법들이 도움이 되지 않는다면, 구체적인 오류 메시지와 로그를 참고하여 추가적인 문제 해결을 시도하시는 것도 좋습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

useEffect와 lifecycle문의

0

28

2

프론트엔드 학습 수준 문의

0

39

2

리액트 챕터별 코드에서 eslint 설정파일이 없어요

0

48

2

데이터 로딩중 화면만 계속 나와요!!

0

55

2

퍼블리셔일경우 어느정도 수준까지 강의를 들어야할까요

0

79

2

이후의 커리큘럼 문의

0

102

2

실슬환경 설정에서 save후 console.log 부분이 새로고침이 안되는현상입니다.

0

50

2

최적화 관련 질문있습니다 (useMemo 등)

0

84

3

프로바이더 컴포넌트의 위치는 어떤 기준인가요?

1

82

3

Date 객체에 관련하여 질문드립니다.

0

85

2

리액트 개정판 교재 질문

0

60

2

예제코드가 안나와요!

0

78

2

select a variant 선택에서 javascript와 javascript+react compiler 중 무엇을 선택해야하나요? com

0

108

2

onMouseEnter 관련 문의 드립니다

0

92

3

배열의 렌더링 관련 질문 드립니다.

0

73

2

2:40초 refObj를 콘솔로 출력시 오류가 발생합니다.

0

113

2

TS, 리액트 강의중에 뭘 먼저 수강하는게 좋을까요?

0

137

2

useCallback 적용한 onCreate, onUpdate, onDelete 함수..

0

70

1

vs code 자동완성관련 문의

0

113

2

91강 useEffect내에서 상태변화함수 호출시 발생하는 에러

1

179

2

87강 필터 함수 질문

0

69

2

useRef, useState count 비교

0

67

2

안된다고했던 이유가 무엇이었는지 모르겠습니다

0

90

2

85강에서 객체를 왜 클래스로 만들어서 new 하지 않는건지 궁금합니다.

0

75

2