에러 원인
redux-actions을 설치하고 npm run dev를 했는데
'vite'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는
배치 파일이 아닙니다.
이런 오류가 떠서 yarn.lock과 pakage-lock.json 파일을 삭제해주고
npm install을 했는데 뜬 오류다.
(redux-actions를 설치했는데 왜 redux-devtools-extension과 redux의 버전충돌이 이제서야 뜨는건지 모르겠다.. )
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! While resolving: react-redux-tutorial@0.0.0
npm ERR! Found: redux@5.0.0
npm ERR! node_modules/redux
npm ERR! redux@"^5.0.0" from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer redux@"^3.1.0 || ^4.0.0" from redux-devtools-extension@2.13.9
npm ERR! node_modules/redux-devtools-extension
npm ERR! redux-devtools-extension@"^2.13.9" from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR!
npm ERR!
npm ERR! For a full report see:
npm ERR! C:\Users\user\AppData\Local\npm-cache\_logs\2023-12-15T07_07_13_148Z-eresolve-report.txt
오류 내용에서 가장 눈에 띄는건 peer redux@"^3.1.0 || ^4.0.0" from redux-devtools-extension@2.13.9
인데
이 뜻은 다음과 같다.
이 에러 메시지에서 말하고 있는 것은 redux-devtools-extension
패키지가 redux
패키지의 특정 버전에 의존하고 있는데, 그 버전이 ^3.1.0 || ^4.0.0
와 같이 지정되어 있습니다.
여기서 ^3.1.0 || ^4.0.0
는 Semantic Versioning(SemVer)을 따르는 버전 범위를 나타냅니다. 이 표현은 다음과 같이 해석됩니다:
^3.1.0
: 3.1.0 버전부터 4.0.0 미만의 모든 버전을 포함합니다.||
: 또는을 의미하며, 앞쪽 또는 뒤쪽의 범위 중 하나를 만족시키는 버전을 사용할 수 있음을 나타냅니다.^4.0.0
: 4.0.0 버전부터 5.0.0 미만의 모든 버전을 포함합니다.
이 의미는 redux-devtools-extension
이 3.1.0 버전 이상이면서 5.0.0 미만인 redux
패키지와 함께 동작할 것으로 예상되어 있습니다.
해결방법
→ redux 를 *^4.0.0
버전으로 설치하니까 됨. *
pakage.json에서 "redux": "^4.0.0",
로 수정 후 npm install -force
관련 에러 chatGPT 답변
이 오류는 react-redux
패키지의 의존성 해결 과정에서 redux
패키지와 관련된 버전 충돌이 발생했음을 나타냅니다. 여러 해결 방법이 있을 수 있으며, 다음 중 하나를 시도해 볼 수 있습니다:
- -force 또는 --legacy-peer-deps 사용:
- 터미널에서 다음 명령어를 실행하여
npm install
을 강제로 진행합니다.또는이는 의존성 충돌을 무시하고 설치를 진행하는 방법입니다. 그러나 이는 종종 예상치 못한 문제를 일으킬 수 있으므로 주의가 필요합니다. npm install --legacy-peer-deps
npm install --force
- 터미널에서 다음 명령어를 실행하여
- 버전 조정:
package.json
파일에서redux
와react-redux
패키지의 버전을 조정합니다.그리고 나서npm install
명령어를 실행하여 의존성을 업데이트합니다."dependencies": { "redux": "^4.2.1", "react-redux": "^9.0.2", "redux-devtools-extension": "^2.13.9" }
- 의존성 트리 재설치:
npm
은 종속성 트리를 재설치하도록 하는 명령어를 제공합니다. 터미널에서 프로젝트 디렉토리로 이동한 후npm install
명령어를 실행합니다.npm install
- npm 패키지 캐시 제거:
- 이미 언급한대로 npm 패키지 캐시를 제거하고 다시 설치해보세요.
npm cache clean --force npm install
npm audit fix
사용:- 터미널에서
npm audit fix
명령어를 실행하여 보안 취약점을 수정하고 의존성을 최신 상태로 유지합니다. npm audit fix
- 터미널에서
위의 단계 중 하나를 시도한 후에도 문제가 계속된다면, react-redux
나 redux-devtools-extension
패키지의 GitHub 저장소나 이슈 트래커에서 관련 정보를 확인하고 추가적인 조치를 취할 수 있습니다.
'Frontend > React' 카테고리의 다른 글
리덕스 툴킷과 많이 사용하는 미들웨어(redux-saga, redux-thunk 등) (0) | 2023.12.22 |
---|---|
리덕스와 리덕스 툴킷(createSlice, handleActions) (0) | 2023.12.22 |
[React] 헷갈리는 리액트 이벤트 핸들러 작성법 (0) | 2023.12.08 |
[Firebase] 파이어베이스를 이용해서 앱 배포하기 (1) | 2023.12.08 |
[React] 포켓몬도감 만들기8 - Typescript로 변경하기 (2) | 2023.12.08 |