본문 바로가기

boilerplate/Errors with goorm ide & gitpod

create-react-app downgrade 18.0.1 to 16.8.6

npx create-react-app . 을 하면 18.0.1로 최신버전이 다운로드 된다. 

하지만 강의에서는 16.8.6 react 버전을 사용하고 있기 때문에 나중을 위해서라도 다운그레이드를 시켜주는게 맞다고 생각했다.

인터넷을 찾아보니까 대부분 node_modules 폴더랑 package.json-lock 파일을 삭제한 다음, pacakge.json 파일에서 각각 버전을 맞춰서 수정해주고 npm install을 하라는 내용이었다. 나는 이 방법으로 하면 esilent 버전 에러나 react 문법이 맞지 않거나.. 등등 에러가 자꾸 났다. 그래서 다른 방법을 택했다.

 

내가 한 방법은 다음과 같다.

1. client 경로에서 npx create-react-app . 을 통해 최신버전을 다운받는다.

2. npm install react@16.8.0 react-dom@16.8.0 을 커맨드로 입력해준다.

3. index.js 파일에서

import ReactDOM from 'react-dom/client'; (X)
import ReactDOM from 'react-dom'; (O)

이렇게 수정해준다. 

이 상태에서 npm run start를 하면 

이런 에러가 날 것이다. 그 이유는 App.js  파일을 보면 React가 import 되어있지 않을텐데 

import React from 'react';
 
상단에 이 코드를 추가해준다.
 
그리고 package.json 파일을 보면 
 
@testing-library/react 라는 내용이 있는데 이 내용을
 
"@testing-library/react": "^12.1.5"
 
이렇게 바꿔주자. 이렇게 바꿔주지 않으면 나중에 react-router-dom@5.1.2 버전을 다운받을 때 에러가 난다.
 
분명 처음에 말했던 방법이랑 위 방법이랑 거의 비슷할텐데 내가 뭘 빼먹은거 같다. 암튼 두번째 방법은 다행히 잘 됐다.