ESLint + Prettier + Git: Delete `␍` & CRLF 변환 문제 해결하기

Jhanoo·2025년 3월 19일

React-Native

목록 보기
2/3

문제 발생 상황

환경

  • Windows에서 VSCode를 사용
  • ESLint와 Prettier가 설정된 프로젝트
  • Prettier는 기본적으로 줄바꿈 방식을 Unix 스타일(LF)로 강제하고 있다.

문제 상황

  • git config에서 core.autocrlf=true 로 설정되어 있기에 파일을 Git 저장소에서 로컬로 가져오면 CRLF로 변환된다.
  • Delete : Windows 환경에서는 CRLF로 줄바꿈을 처리하나 Prettier는 LF 방식으로 요구하여 CR을 지워야 한다.
  • LF 방식으로 줄바꿈을 전부 바꾸고 git add 했더니 LF will be replaced by CRLF the next time Git touches it 이런 warning이 떴다.

해결 방안

  1. git config --global core.autocrlf false는 Git이 줄바꿈을 자동으로 변환하지 않도록 설정한다.
    git config --global core.eol lf는 End of Line을 lf 형식으로 설정한다.

    git config --global 옵션은 git config를 전역으로 설정한다.
    만약, 해당 프로젝트만 설정하고 싶다면 --global 옵션을 빼자.

    git config --global core.autocrlf false
    git config --global core.eol lf
  2. 해당 프로젝트 내 .vscode/settings.json 수정

  {
    ...
    "files.eol": "\n",
    "editor.formatOnSave": true
  }
  • files.eol: "\n": 새로 생성되는 모든 파일의 줄바꿈 방식을 LF로 강제한다.
  • editor.formatOnSave: true: 저장 시 Prettier 등의 포매터를 자동 실행하여 줄바꿈 방식을 다시 한 번 정리한다.
profile
어떻게든 해내는 사람

0개의 댓글