[error] npm 설치 오류, firebase import 오류

2022. 9. 25. 22:05Study/Error

npm 설치 오류


firebase설치 시 제대로 설치되지 않는 현상을 발견했다. 터미널에 에러메시지는 딱히 뜨지 않았으나 사용할 수 없음은 물론 package.json에도 firebase가 보이지 않았다.

 

검색해본 결과 package-lock.json, node_modules를 삭제하고 다시 npm을 설치하라는 것이었는데(사실 나는 package.json까지 삭제했다🙄) 삭제까지는 성공 했으나 다시 설치하는 과정에서 package-lock.json만 다시 설치될 뿐 node_modules, package.json는 여전히 생성되지 않았다. 

 

다행인지 불행인지 계속 설치하다보니

npm ERR! Fix the upstream dependency conflict, or retry

npm ERR! this command with --force, or --legacy-peer-deps

라는 메시지가 나와 검색해본 후 npm install --save --legacy-peer-deps 라고 명령어를 치니 무사히 설치되었다.

 

npm install --save --legacy-peer-deps

 

--force와 --legacy-peer-deps가 무엇인지 찾아보니 npm 7부터는 peer dependencies가 일어나면 설치하지 않는데, 이를 무시하고 설치할 수 있게 해주는 것이 --force와 --legacy-peer-deps 명령어이다.

 

peer dependencies란 다른 버전의 패키지에 대해 의존성이 있는 것을 말하는 것 같다. (내가 이해한 바로는 그런데 아닐수도?)

 

--force는 package-lock.json에 다른 dependency 버전을 추가해 우회 하는 방식으로 설치해주는 옵션이다.

--legacy-peer-deps는 peer dependencies를 무시하여 설치해주는 옵션이다.

 

 

 

 

firebase 


결과적으로 잘 설치되어 해피했으나 이번에는 firebase/app을 찾을 수 없다고 에러가 났다. package.json에도 잘 설치 됐는데 왜죠,,

 

 

 

 

알고보니 9버전 부터는 compat을 추가해야한다고 한다. (버전과의 싸움 🥲)

 

//이전: 8 버전
import firebase from 'firebase/app';
import 'firebase/auth';
import 'firebase/firestore';


//이후: 9 버전
// v9 compat packages are API compatible with v8 code
import firebase from 'firebase/compat/app';
import 'firebase/compat/auth';
import 'firebase/compat/firestore';

 

 

 

 

참조


https://sukvvon.tistory.com/75

https://cocobi.tistory.com/114