원래 평소엔 yarn을 쓰다가 회사에서 npm을 쓰길래 한동안 npm만 사용했었다. 오랜만에 yarn을 다시 사용하는데 패키지 업데이트를 하려고 yarn upgrade 명령어를 사용했더니 yarn.lock 파일만 바뀌고 package.json 파일은 그대로였다. (참고로 적자면 npm update는 package.json도 같이 바뀐다.)
찾아보니 원래 yarn upgrade는 package.json을 같이 고치지 않고 yarn upgrade left-pad@^1.0.0처럼 패키지와 버전을 직접 지정해야 같이 고친다고 한다. (이상하다? 예전엔 같이 바뀌었던 거 같은데... yarn이 중간에 수정된 건지 내가 착각한 건지 모르겠다;;;)
아무튼 해결 방법은 syncyarnlock라는 패키지를 사용하면 된다.
# 패키지 업데이트 (yarn.lock만 변경됨)
yarn upgrade
# yarn.lock을 기준으로 package.json 업데이트
npx syncyarnlock -s -k
# package.json을 기준으로 yarn.lock 업데이트
yarn
syncyarnlock 패키지는 yarn.lock 파일을 기준으로 package.json 파일을 동기화한다. 옵션은 아래 링크 참고
https://www.npmjs.com/package/syncyarnlock
syncyarnlock을 사용하고 나면 이제 반대로 yarn.lock 파일의 버전이 일치하지 않는 모습을 볼 수 있다.
그래서 다시 yarn 명령어를 통해 package.json에 맞게 yarn.lock을 업데이트해준다.
이제 편ㅡ안해졌다.
일반적으로 패키지 버전을 파악할 때 package.json 파일을 참고하니까 yarn upgrade 시 package.json도 같이 수정되는 게 맞다고 생각하는데 나만 그런 건가? 흠...
'프로그래밍 > 웹' 카테고리의 다른 글
[JavaScript] window.open()으로 연 창에서 onload 이벤트가 실행되지 않을 때 (2) | 2022.11.16 |
---|---|
Tailwind CSS 클래스 모음집 사이트 (0) | 2022.07.31 |
[CSS] 간단한 중앙 정렬 (0) | 2022.07.09 |
[Node.js] 로컬 패키지 사용하기(+alias) (0) | 2022.06.13 |
토큰은 어디에 저장해야 하는가? (0) | 2022.02.14 |
[자작] parcel-transformer-interpolate-html (0) | 2022.01.14 |
[자작] snowpack-plugin-sitemap (0) | 2021.12.25 |
[Node.js] 자바스크립트에서 csv 파일 생성 시 한글 깨짐 문제 해결 (0) | 2021.10.22 |