2025. 4. 15. 13:01ㆍ개발자 블로깅/Error
🔍 오류 상황
테스트 코드를 학습하기 위해 fork 받았습니다. npm ci 를 통해 모듈을 설치 후 vite.config.js 파일 확인했습니다.
아래와 같은 에러 코드를 확인 할 수 있었습니다.
🚩 문제의 원인
Expected linebreaks to be 'LF' but found 'CRLF'. [prettier/prettier]
Delete 'CR' [prettier/prettier]
이 오류의 핵심은 줄바꿈 (Line Ending) 형식의 차이에 있습니다. 운영체제마다 줄바꿈 방식이 다르기 때문에 발생합니다.
이러한 줄바꿈 방식의 불일치 때문에 협업 도중 혹은 코드 포맷터가 작동할 때 CR (Carriage Return)을 삭제하라는 오류가 발생합니다.
CR (Carriage Return) 이란?
커서를 줄 맨 앞으로 이동시키는 제어 문자
문자 코드 : \r (ASCII 코드 13)
역사적 배경
- 타자기에서는 줄을 바꾸기 전에 글씨를 맨 앞으로 돌려야 했습니다. 그 동작이 바로 Carriage Return 입니다.
- 이후 컴퓨터에서도 줄바꿈을 구현할 때 이 개념을 사용하게 되었습니다.
운영채제에 따라 다르게 사용함
운영체제 | 줄바꿈 방식 | 설명 |
Windows | \r\n (CRLF) | 줄 맨 앞으로 → 다음 줄로 이동 |
macOS/Linux | \n (LF) | 다음 줄로 이동 (커서는 자동 앞으로 감) |
즉, Delete 'CR' 오류는 Carriage Return 이 불필요하게 들어가 있다는 뜻이고, 주로 Windows 환경에서 생기는 문제입니다.
✅ 해결 방법
방법 1. 에디터 설정 변경 ( VS Code 기준)
- VS Code 오른쪽 아래 상태바에서 CRLF를 클릭하고 LF로 변경
- 또는 .vscode/settings.json에 다음 추가:
{
"files.eol": "\n"
}
방법 2. Prettier 설정 확인
- .prettierrc 혹은 설정 파일에 아래를 명시하세요:
{
"endOfLine": "lf"
}
방법 3. ESLint 설정 확인
- .eslintc.json혹은 설정 파일에 아래를 명시하세요:
// rules 의 "error" 에 추가
{
"endOfLine": "auto"
}
🧰 예방 방법
- 프로젝트에 .editorconfig, .prettierrc 등을 명확하게 설정하여 팀 전체의 포맷 규칙을 통일합니다.
- Git에 pre-commit hook을 설정하여 잘못된 줄바꿈이 커밋되지 않도록 방지합니다.
- 협업 시 코드 스타일을 문서로 공유하고, 포맷터/린터 자동 실행 환경을 마련해두면 좋습니다.
✅ 마무리 정리
Delete 'CR' 오류는 줄바꿈 형식의 차이로 인해 발생하는 사소하지만 귀찮은 문제입니다. 에디터, Git, 코드 포맷터의 설정을 통해 쉽게 해결할 수 있으며, 미리 설정을 잘해두면 협업 시 큰 도움이 됩니다.
작은 차이가 팀의 생산성을 좌우할 수 있습니다. 줄바꿈도 예외는 아닙니다.
'개발자 블로깅 > Error' 카테고리의 다른 글
[ 오류 해결 ] vue/no-use-v-if-with-v-for : v-for과 v-if 같은 태그에서 사용하면 생기는 오류 (0) | 2025.04.10 |
---|---|
ESLint "____ is missing in props validation" 오류 해결하기 (0) | 2025.03.04 |
npm 이 정상적으로 동작하지 않는다면? (2) | 2025.02.08 |
[React] Netlify 로 배포하기 (1) | 2023.02.17 |
Compiled with problems (1) | 2022.09.07 |