D.evelop/Package manager

[VSCode/ESLint] Delete `CR` eslint(prettier/prettier) 에러

Danne 2023. 12. 5. 19:15

git pull을 받았는데 돌연 등장한 에러  Delete `CR` eslint(prettier/prettier)

 

개행에 문제가 생긴듯 하다.

개행을 수동으로 제거해봤는데 원복되면서 에러가 사라지지 않았다.

 

prettier규칙을 수정해야한다.

1. pagkage.json의 "eslintConfig"에 "rules"을 추가해준다.

 

추가할 룰

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

 

 

적용이 되지 않았다.

 

 

 

2. .eslintrc.js 파일이 별도로 있는 경우는 그 파일 내에 작성해야한다고 한다.

 

rules 추가

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

 

 

 

결과

빨갛게 마킹된 에러표시와  Delete `CR` eslint(prettier/prettier) 가 전부 사라졌다

 

 

 

✅원인을 찾아서 Git 재설정

 

이번 오류는 작업물을 Linux환경에서 작업하고 Linux에서 CLI로 로 git push/pull을 해오다가

sourceTree를 ( GUI )를 통해 관리하고 싶어서 세팅을 다시했다가 pull을 받았던 시점에 발생했다.

 

Git 및 GitHub를 사용하여 프로젝트를 공동 작업할 때
예를 들어 Windows 컴퓨터에서 작업하고 공동 작업자가 macOS에서 변경한 경우
Git에서 예기치 않은 결과가 발생할 수 있습니다.
출처: GitHub 문서

 

 

1. 운영체제마다 줄 끝을 다르게 처리하는데 엔터를 누를 때마다 줄 끝에는 보이지 않는 문자가 입력된다.


CR / LF/ CRLF

  • CR (Carriage Return)의 의미 \r
  • LF (Line Feed)의 의미 \n
  • 즉, CRLF는 둘 다 쓰겠다는 의미


Git이 줄 끝을 처리하는 방법을 설정하는 명령

git config core.autocrlf

 

# 설정
$  git config --global core.eol native
 
# 설정 확인
$ git config --global --list|grep core.eol

 


Windows에서는 간단히 true구성을 전달하면된다.

Windows 윈도우에서는 CRLF를 사용하는데,
해당 명령어를 사용하여
저장소에서 가져올 때 LF를 CRLF로 변경, 저장소로 보낼 때는 CRLF를 LF로 변경하도록 해줍니다.

 
리눅스, 맥, 유닉스에서는 LF만 사용하므로 input으로 설정합니다.

# Window에서
git config --global core.autocrlf true

# Linux, Mac, UNIX 에서
git config --global core.autocrlf input

 

 

 

 

반응형