[에러 해결 기록] 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"를 쓰나요?
호환성: 팀원들이 다른 OS를 쓰더라도 문제없음
기존 코드 보존: 이미 있던 파일들의 줄바꿈 방식을 건드리지 않음
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"
}
]
}
}


