변경 방법만을 위해 오신 분들을 위한 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을 실행하면 된다.
'GITHUB' 카테고리의 다른 글
[GitHub]git clone시 폴더 없이 생성하기 (0) | 2024.07.13 |
---|---|
[GitHub]git pull이 안 될때 조치법 (0) | 2024.07.01 |
[GitHub]push 충돌시 강제 해결법 (0) | 2024.03.31 |
[GitHub].env파일이 원격에 올라갔을 때 조치방법 (0) | 2024.02.21 |
[Github].env파일이 포함된 채로 merge 되었을 때 조치법 (2) | 2024.01.30 |