웹개발 및 최신 테크 소식을 전하는 블로그, 웹이즈프리

HOME > webdevetc

yarnl.lock package-lock.json 파일 서로 변환하는 방법

Last Modified : 2023-01-24 / Created : 2023-01-24
3,051
View Count
노드 패키지 npm 또는 yarn을 사용할 때 package-lock.json 또는 yarn.lock 파일이 자동으로 생성됩니다. 그런데 만약 yarn.lock을 package-json.lock으로... 아니면 반대로 package-json.lock 파일을 yarn.lock 파일로 변환하고 싶습니다. 어떻게 하면 가능할까요?

[참고] 변경 사유는?
변경을 원하는 이유는 평소에 npm을 사용하는데 peer dependency 버전 이슈가 많아 yarn을 사용하면 더 편리할 것 같아 변경하려고 했습니다. yarn 설치를 위해서 package-lock.json을 yarn.lock으로 변환해 설치하면 좋을 것 같아 아래의 방법을 사용하여 적용했습니다. 그럼 자세한 방법을 알아봅니다.



! yarn.lock package-lock.json 파일을 서로 변환하는 방법


간단한 방법은 synp를 설치해 커맨드라인에서 사용하는 방법입니다. 설치 및 사용 방법은 아주 간단합니다. 먼저 synp를 설치합니다.
> yarn global add synp

or

> npm install -g synp

global로 설치해 cli 명령어를 사용하도록 합니다. 이제 원하는 lock 타입으로 변환할 수 있습니다. 각각 아래와 같이 수행합니다. 참고로 이미 파일이 존재하면 에러가 발생하므로 삭제하거나 이름을 변경해두어야 합니다.


@ package.json 파일에서 yarn.lock 생성하기
소스 파일이 pacakge-lock.json 파일이며 yarn.lock 파일이 생성됩니다.
> synp --source-file package-lock.json

Workspace (npm lockfile v2) support is experimental. Pass `--with-workspace` flag to enable and cross your fingers. Good luck!
Created yarn.lock

확인해보니 yarn.lock 파일이 새로 생성되었습니다. 용량이 약 600kb이군요 ~ 생각보다 lock 파일이 용량이 크다고 생각했는데 package-lock.lock 파일은 더 큰 1.6M이군요;; 다음으로 yarn.lock 파일에서 package.json을 생성해봅니다. 소스 파일만 변경하면 됩니다.


@ yarn.lock 파일에서 package.json 생성하기
이번에는 소스 파일이 yarn.lock으로 package-lock.json 파일이 생성됩니다.
> synp --source-file yarn.lock

이 방법을 사용하면 yarn이나 npm 모두 원하는 lock 파일로 변환이 가능하다는 장점이 있습니다.

여기까지 yarn 과 npm의 lock로 서로 변환하는 방법에 대하여 간략히 알아봤습니다.
아래의 글도 찾고 계시지 않나요?

    Previous

    wsl local dev 환경에서 port 1000 이하 사용 불가 해결하기

    Previous

    [IDE] intellij 터미널에서 vi, vim 편집시 esc키 사용하는 방법