(예쁘다) `␍` 예쁘다/예쁘다 삭제


소개


Papa Red Flavor 프로젝트 시작부터 pull을 받고 npm을 설치한 후 본 오류입니다.

Delete `␍` 오류

오류를 분석해 봅시다…


구글링을 해서 나온 오류는 기본적으로 컴퓨터 OS마다 다른 줄 바꿈 방식을 사용해서 생긴 오류입니다. Prettier는 CRLF 대신 LF를 사용할 것을 권장합니다. 확인해보니 VS Code에서 아래와 같이 CRLF로 설정되어 있는 것을 확인할 수 있었습니다.


Linux(유닉스 계열)

  • LF는 기본

윈도우

  • CRLF가 기본값입니다.

CRLF? 저게 뭐에요. 어떻게 합니까


CRLF

타자기로 문서를 작성할 때 한 줄에 모든 글자를 입력한 후 다음 줄로 옮겨야 합니다. 이렇게 아래 줄로 이동 LF 그리고 왼쪽 끝까지 밀어주세요 CR 그것은 말한다.

LF(줄 바꿈)

  • 라인 아래로 이동

CR(캐리지 리턴)

  • 왼쪽 끝까지 밀고

CRLF(CR + LF)

  • 반환 및 줄 바꿈
  • 맨 아래 행으로 이동하여 왼쪽 끝까지 밀어 넣습니다.

LF를 사용하는 이유


Prettier는 CRLF 대신 LF 사용을 권장하지만 LF 사용을 권장하는 이유는 무엇입니까?

CRLF 그리고 LF 바이트 코드가 다르기 때문에 같은 코드처럼 보여도 형상관리 도구에서 다른 코드로 인식한다고 합니다. 이 때문에 커밋 시 줄 바꿈 형식이 달라도 변경되지 않은 파일은 변경된 것으로 인식한다. LF 방법으로 통일. 따라서 다양한 코딩 규칙과 개발자의 일관된 코딩 스타일을 유지하기 위한 도구입니다. Prettier는 협업 때문에 LF를 사용할 것을 권장합니다.


이슈

Prettier 버전 2.0.0부터 기본 end of line 값이 auto에서 LF로 변경되었지만 CRLF는 여전히 VSCode와 프로젝트 내에서 사용되었으므로 오류가 발생했습니다.

솔루션

1. 아래 그림과 같이 Vs코드 하단에 CRLF에서 LF로 변경합니다.


2. 기존 프로젝트에 이미 설정된 값을 고려하여 eslintrc.js 파일의 규칙에 다음 설정을 넣습니다.

rules: {
    'prettier/prettier': (
      'error',
      {
        endOfLine: 'auto',
      },
    ),
  },

참고 1

노트 2