2023-02-17 금요일

·2023년 2월 17일
0

Today I Learned

목록 보기
75/114
post-thumbnail

✏️ 무엇을 배웠나


1. yarn.lock 충돌 해결법

패키지 매니저로 yarn을 쓰고 있는데, 실수로 npm으로 설치한 라이브러리가 섞였다. ( yarn으로 하든 npm으로 하든 서로 호환은 되지만 충돌이 생길 가능성이 있어 한 가지 패키지 매니저만 사용하는 게 보통임)

그 후로 pull을 받을 때 종종 yarn.lock 에러가 떠서 처음에는 dev에 있는 yarn.lock을 복사해서 해결했다가 자꾸 떠서 근본부터 해결하기로 했다.

  • yarn.lock 파일 삭제
  • (만약 yarn으로 세팅된 프로젝트인데 package-lock.json이 있다면 삭제. npm으로 설치하면 생기는 파일이다. yarn.lock과 동일한 역할의 파일임)
  • node_modules 폴더 삭제
  • yarn cache clear 로 캐시 데이터 삭제
  • yarn install (package.json 파일이 멀쩡하다는 전제 하에 yarn.lock과 node_modules를 지워도 yarn install을 하면 알아서 다 생김)

이렇게 한 뒤에 브랜치에 푸시하고 팀원들이 모두 받아서 같은 과정을 밟았다. 이제 싱크가 완전히 맞추진 상황. 그리고 컴퓨터나 인터넷이 느린 경우에는 초기화하고 yarn install을 하면 ESOCKET_TIMEOUT이 뜰 수 있다. 만약 이게 뜬다면, yarn install --network-timeout 1000000 로 타임아웃 대기 시간을 늘려서 다시 시도하면 보통은 해결이 된다. (tiemout 뒤에 오는 숫자는 ms 단위)

맥을 쓰는 경우에는 package.json 파일 안 script에 아래 커맨드를 추가해주고 사용하면 위 단계를 한 큐에 진행할 수 있어서 편리하다.

"clean": "rm -rf ./node_modules && rm -f yarn.lock && yarn cache clean && yarn install"
profile
⛰ 프론트엔드 개발 공부 블로그

0개의 댓글