husky 적용 안되는 현상 해결

SuJin·2024년 7월 28일
0
post-thumbnail

현재 DND에서 프로젝트를 진행하며 React + TypeScript + Next.js 환경에서 디자인시스템을 배포하기 위해 모노레포로 환경을 셋팅하고 있던 상황이었다

협업 프로젝트이기 때문에 오류가 발생하는 커밋을 막기 위해 husky를 사용했다

husky를 사용하며 2가지 문제가 발생했다

  1. husky 파일 자체가 실행되지 않는 문제
  2. husky가 무시되는 문제

📍 husky 자체가 실행되지 않았던 문제

git add .
git commit -m "husky test"

를 터미널에 입력하며 husky가 제대로 동작하는지 확인을 했는데 husky 자체가 실행되지 않는 느낌이고 모노레포는 처음이라 husky를

  • root 폴더에 적용을 해야할지
  • client 폴더에 적용을 해야할지

2가지 상황에 대해 고민했다.

이때 나는 한번에 husky를 적용하기 위해 root 폴더에 적용해서 프로젝트를 진행했다

husky를 설치하고 pre-commit 파일도 다 만들어서 진행했는데

git commit 명령어를 입력하면 husky가 적용되는 모습이 보이지 않고 위와 같은 문구만 떠서 pre-commit 이 전혀 적용되지 않는 현상이 발생했다

pre-commit 안에 eslint 검사가 아닌 터미널에 출력하는 문구를 작성했음에도 불구하고 터미널에 뜨지 않는 모습을 보고 husky 자체가 실행되지 않는다는 것을 발견했다!!

✅ 해결 방법

pre-commit 코드

#!/usr/bin/env sh
. "$(dirname "$0")/_/husky.sh"

npx lint-staged

그 전에는 #!/bin/sh 으로 경로가 설정되어 있었는데 이를 #!/usr/bin/env sh 으로 수정하게 되면서

이런식으로 hint 문구를 받는것까지 성공했다

하지만?

터미널에 적힌 문구와 같이

📍 husky가 무시되는 문제

가 발생했다

이 문제를 해결하기 위해 husky 재설치를 여러번 시도하고
구글링도 하고 perplexity에게도 여러 번 물어본 결과

✅ 해결 방법

chmod +x .husky/pre-commit      

터미널에 해당 명령어를 입력하게 됨으로써 문제를 해결할 수 있었다.
그동안 권한이 없어서 실행도 안되고 권한도 안되는 문제가 발생했던것 같다.

그렇게 commit 메세지를 입력하게된 결과 체크하는 모습이 뜨면서 husky가 정상작동하였다!!!!

오예!!

이때 뜨는 eslint 오류들 제대로 잡아주기 위해 npm run lint를 실행해서

뜨는 오류들 다 잡아주면


commit에 성공하고 다음과 같은 메세지가 뜨고 커밋이 올라간다.

굿👍

profile
Anyone can be anything.

0개의 댓글