깃 충돌 해결하고 커밋하려니 문제가 생겼다.
> git -c user.useConfigOnly=true commit --quiet --allow-empty-message --file -
.husky/pre-commit: line 4: yarn: command not found
husky - pre-commit hook exited with code 127 (error)
husky - command not found in PATH=/Applications/Xcode.app/Contents/Developer/usr/libexec/git-core:/usr/bin:/bin:/usr/sbin:/sbin
😭
.husky/pre-commit
코드 수정등등 계속 했더니 점점 이상해졌다.
.yarnrc파일과 .yarnrc.yml 파일이 자동으로 추가되었다.
그냥 깔끔히 밀어버리고 다시 레포받아서 yarn 문제 이전 브랜치에서 브랜치 따서 작업했다.
원인은 yarn 버전이 너무 낮았던 것으로 추정되는데, 업그레이드하는 과정에서 내가 이것저것 아무거나 시도하느라 꼬인 듯하다.
.yarnrc
랑 yarn.yml
이 뭘까?yarn v.1은 .yarnrc
파일을, yarn v.2부터는 yarnrc.yml
를 생성한다.
✅ Yarn 1 (1.22.7)
.yarnrc
registry "https://registry.yarnpkg.com"
cache-folder "./.yarn-cache"
단순한 키-값 설정 방식
✅ Yarn 2 이상 (Yarn 4 포함)
.yarnrc.yml
로 변경됨yarnPath: ".yarn/releases/yarn-4.0.0.cjs"
nodeLinker: "node-modules"
npmRegistryServer: "https://registry.yarnpkg.com"
👉 내가 yarn을 최신버전으로 업그레이드하면서 생기게 됨.
👉 Yarn 4를 사용할 거라면?
.yarnrc
파일을 삭제하고, .yarnrc.yml
만 유지.yarnrc.yml
에서 필요한 설정을 직접 수정👉 Yarn 1과 4를 혼용해야 한다면?
.yarnrc
는 기존 프로젝트와의 호환성을 위해 남겨두되,.yarnrc.yml
에서 새로운 설정을 관리하는 방식으로 사용 가능👉 업그레이드 취소하고 Yarn 1을 그대로 쓰려면?
.yarnrc.yml
은 Yarn4 업그레이드 과정에서 자동 생성, Yarn1에서 인식하지 않으므로 삭제해도 영향 없음
⚠️ yarnrc
설정파일 확인하기 ⚠️
기존에 .yarnrc에 커스텀 설정(예: registry, cache-folder, network-timeout 등)이 있었다면, 삭제하면 설정이 초기화됨
만약 설정 유지할 필요없다면 삭제해도 됨
npm uninstall -g yarn
npm install -g yarn@1.22.7
(원하는 버전 지정 가능)
yarn -v