본문으로 바로가기
검색
회원가입로그인

[에러 해결 기록] Delete ␍eslint prettier 에러 cr

문제

갑자기 모든 파일의 ; 마지막 부분에
Delete ␍eslint[prettier/prettier] 에러가 떴다.


원인

이 문제는 Windows에서 흔히 발생하는 줄바꿈 문자(line ending) 충돌 때문입니다.
는 캐리지 리턴(Carriage Return, CR) 문자를 나타내며,
Windows는 CRLF(\r\n)를, Unix/Linux/Mac은 LF(\n)를 사용합니다.


해결방법

나는 1번에서 바로 해결돼서 나머지는 안해봄


1. Prettier 설정에 endOfLine 추가

.prettierrc 파일에 다음과 같이 "endOfLine": "auto" 추가

{
  "plugins": ["prettier-plugin-tailwindcss"],
  "endOfLine": "auto"
}

하고 나서 VSC 껐다가 잠시 뒤에 켜보니 에러 사라져 있더라고.

endOfLine 옵션 설명

"endOfLine": "auto"는 Prettier가 줄바꿈 문자를 어떻게 처리할지 결정하는 설정입니다.

"auto" (기본값)

  • 기존 파일의 줄바꿈 방식을 그대로 유지

  • 첫 번째 줄바꿈을 찾아서 그 방식을 따름

  • 새 파일의 경우 운영체제 기본값 사용

"lf"

  • 항상 LF(\n) 사용 (Unix/Linux/Mac 방식)

  • Windows에서도 강제로 LF 사용

"crlf"

  • 항상 CRLF(\r\n) 사용 (Windows 방식)

  • Mac/Linux에서도 강제로 CRLF 사용

"cr"

  • 항상 CR(\r) 사용 (구형 Mac 방식, 거의 안씀)

왜 "auto"를 쓰나요?

  1. 호환성: 팀원들이 다른 OS를 쓰더라도 문제없음

  2. 기존 코드 보존: 이미 있던 파일들의 줄바꿈 방식을 건드리지 않음

  3. Git과 조화: Git의 core.autocrlf 설정과 잘 맞음

당신의 경우 Windows에서 개발하다가 갑자기 에러가 생긴 것은,
아마 어떤 파일에 LF와 CRLF가 섞여있거나,
Git에서 파일을 가져올 때 줄바꿈이 바뀌었을 가능성이 높습니다.
"auto"로 설정하면 이런 충돌을 피할 수 있어요.

(내가 작성해서 GitHub에 올리고 내가 다시 받아온 건데 왜 LF가 섞여있었는지 모르겠네)


2. Git 설정 확인 및 수정

터미널에서 다음 명령어 실행:

# 현재 설정 확인
git config core.autocrlf

# Windows에서 권장 설정
git config --global core.autocrlf true

# 또는 프로젝트별로만 설정
git config core.autocrlf true

3. 전체 파일 재포맷

다음 명령어로 모든 파일을 다시 포맷:

# 모든 파일 prettier로 재포맷
npx prettier --write .

# 또는 특정 확장자만
npx prettier --write "**/*.{js,jsx,ts,tsx,json,css,md}"

4. .gitattributes 파일 생성

프로젝트 루트에 .gitattributes 파일을 만들어 줄바꿈 처리를 일관되게:

* text=auto
*.js text eol=lf
*.jsx text eol=lf
*.ts text eol=lf
*.tsx text eol=lf
*.json text eol=lf

5. ESLint 규칙 조정 (임시 해결책)

.eslintrc에 다음 규칙 추가:

{
  "rules": {
    "prettier/prettier": [
      "error",
      {
        "endOfLine": "auto"
      }
    ]
  }
}

공유하기
카카오로 공유하기
페이스북 공유하기
트위터로 공유하기
url 복사하기

저자의 책