GITHUB

[GitHub]패키지 매니저 변경(Yarn -> NPM)

먹지 2024. 7. 3. 00:59

변경 방법만을 위해 오신 분들을 위한 3줄 요약

1. yarn.lock 파일 삭제
2. node_modules 폴더 삭제
3. npm install

반대로 실행하고 싶다면?

1.package.lock.json 삭제
2. node_modules 폴더 삭제
3. yarn install

문제상황

팀원과 기술 스택 논의 중에 잘 못 이해한 부분이 있어 패키지 매니저를 변경해야하는 상황이 생겼다.
처음에는 파일을 보존해두고 새 클론을 받으라는 얘기가 나왔는데, 이 방식대로 하니 로컬과 원격 브랜치 간 충돌이 발생했다. 원격에 존재하는 브랜치를 로컬에서 인식하지 못하는 것이다. git branch -t 명령어도 소용이 없었다.

fatal: 'feature/onboarding' is not a commit and a branch 'onboarding' cannot be created from it

문제 원인

이 과정에서 클론을 실행했던 방법은 다음과 같다.

git clone {url}

이렇게 되면, 글 브랜치만 추적이 되기 때문에 기본적으로 url를 볼 때 설정되어있던 브랜치만 같이 클론이 된다고 한다.

해당 문제를 발생시키는 다른 명령어는 --single-branch 옵션이다.

git branch -b {branch-name} --single-branch {저장소 URL}


위 방법에 대한 해결책은 추후에 기회가 된다면 써보도록 하겠다.


해결방법

다시 생각해보니, 패키지 매니저 문제라면 매니저만 바꾸면 되는 거 아닌가?
당시에 이 방법을 떠올렸을 땐 좀 천재적인 발상이라 생각했는데,,지금 와서 보니 조금 삽질한 모지리 같기도 하다 ^^,,,

1. yarn.lock 파일 삭제
2. node_modules 폴더 삭제
3. npm install

위 방법을 실행하면 npm으로 변경이 가능하다. 만약 npm에서 yarn으로의 변경이 필요하다면 위 방법에서 npm에 해당하는 의존성 파일을 삭제한 후 yarn install을 실행하면 된다.