작성
·
415
0
답변 1
0
안녕하세요.
npm install 명령으로 axios-hooks 명령을 설치하셨을 때, 충돌이 발생하셨다고 하셨는 데, 그 충돌이 어떤 충돌이었는 지 설명해주실 수 있으실까요?
---
yarn 으로 생성된 CRA 프로젝트에서 npm 으로 팩키지를 설치하시면, package-lock.json 파일이 생성이 되고 node_modules에 라이브러리가 설치가 됩니다. npm install 시에 --save 옵션을 주셨다면 packages.json에도 팩키지명/버전이 추가됩니다. 다만 yarn.lock 에는 반영이 안 될 뿐이죠.
두 종류의 lock이 생성이 된 것 일 뿐 애플리케이션 구동에는 특별한 문제가 없습니다. 라이브러리는 설치가 되었으니깐요.
말씀하신 대로 yarn.lock을 삭제하시고 (package-lock.json도 삭제하셔야겠죠) node_modules도 지워주시고, packages.json 만 남기시고 yarn install 명령을 내리셨다면 packages.json 내역대로 라이브러리가 설치될 것입니다.
그런데 라이브러리와는 별개로 src/index.js 내에서 "Module not found: Can't resolve 'pages'" 라고 뜨는 것은 이러한 라이브러리와는 별개입니다.
index.js 내에서 import 는 import Root from "pages"; 처럼 하셨을 테구요. 혹시 frontend 프로젝트 경로에 jsconfig.json 파일이 있으신지요? 위 import를 import Root from "./pages"; 로 지정하시면 어떠신가요?
만약 구동되신다면 jsconfig.json이 없어서 발생하는 문제입니다. jsconfig.json 파일은 아래 경로에서 확인하실 수 있구요.
https://github.com/askcompany-kr/django-with-react-rev5/blob/master/frontend/jsconfig.json
본 설정을 통해 리액트 CRA에서는 디폴트로 상대경로로 임포트를 해야하는 데, 절대경로로 임포트를 할 수 있게 됩니다.