gulp 프로젝트에서 eslint를 사용할 때 이와 같은 오류가 발생
Expected linebreaks to be 'LF' but found 'CRLF' linebreak-style
했으며 실행중인 gulp에 Windows 환경을 사용하고 있으며 전체 오류 로그는 다음과 같습니다.
Kiran (master *) Lesson 4 $ gulp
Using gulpfile c:\Users\Sai\Desktop\web-build-tools\4\
gulpfile.js
Starting 'styles'...
Finished 'styles' after 17 ms
Starting 'lint'...
'lint' errored after 1.14 s
ESLintError in plugin 'gulp-eslint'
sage: Expected linebreaks to be 'LF' but found 'CRLF'.
ails: fileName: c:\Users\Sai\Desktop\web-build-tools\4\js\extra.js
$>Users\Sai\Desktop\web-build-tools\4\js\extra.js
error Expected linebreaks to be 'LF' but found 'CRLF' linebreak-style
또한 실수를 나타내는 오류로 extra.js 파일을 포함 시켰습니다 .
function getWindowHeight() {
return window.innerHeight;
}
getWindowHeight();
답변
linebreak-style
.eslintrc 또는 소스 코드에서 아래와 같이 규칙을 구성 했는지 확인하십시오 .
/*eslint linebreak-style: ["error", "unix"]*/
Windows에서 작업하고 있으므로이 규칙을 대신 사용할 수 있습니다.
/*eslint linebreak-style: ["error", "windows"]*/
다음의 문서 를 참조하십시오 linebreak-style
:
모두 다른 편집자, VCS 응용 프로그램 및 운영 체제를 가진 많은 사람들과 함께 개발할 때 언급 된 것 중 하나에 의해 다른 줄 끝이 작성 될 수 있습니다 (특히 Windows와 Mac 버전의 SourceTree를 함께 사용할 때 발생할 수 있음).
Windows 운영 체제에서 사용되는 줄 바꿈 (새 줄)은 일반적으로 캐리지 리턴 (CR) 다음에 줄 바꿈 (LF)이되어 캐리지 리턴 줄 바꿈 (CRLF)이되고 Linux와 Unix는 단순 줄 바꿈 (LF)을 사용합니다. 해당 제어 순서는
"\n"
(LF) 및"\r\n"
(CRLF)입니다.
이것은 자동으로 수정 가능한 규칙입니다. --fix
명령 행 의 옵션은이 규칙에 의해보고 된 문제를 자동으로 수정합니다.
그러나 CRLF
코드에서 줄 끝 을 유지 하려면 (Windows에서 작업 할 때) fix
옵션을 사용하지 마십시오 .
답변
이 답변에 따라 줄 바꿈 스타일을 사용하여 .eslintrc에서 파일을 무시하는 것이 유용하다는 것을 알았습니다 ( https://stackoverflow.com/a/43008668/1129108
module.exports = {
extends: 'google',
quotes: [2, 'single'],
globals: {
SwaggerEditor: false
},
env: {
browser: true
},
rules:{
"linebreak-style": 0
}
};
답변
vscode를 사용 중이고 Windows 를 사용하는 경우 창의 오른쪽 하단에있는 옵션 을 클릭하고 CRLF에서 LF로 설정하는 것이 좋습니다 . Windows에서 오류를 제거하기 위해 구성을 끄면 안됩니다.
LF / CLRF가 보이지 않으면 상태 표시 줄을 마우스 오른쪽 버튼으로 클릭하고 편집기 줄 끝을 선택하십시오.
답변
autocrlf
.gitconfig 파일에서 param을 만들고 false
코드를 복제했습니다. 효과가 있었다!
[core]
autocrlf = false
답변
내가 도망 갔기 때문에 나와 함께 일어 났고 git config core.autocrlf true
나는 되돌아가는 것을 잊었다.
그 후 새 코드를 체크 아웃 / 풀하면 모든 LF (UNIX의 브레이크 라인)가 CRLF (Windows의 브레이크 라인)로 대체되었습니다.
린터를 실행했는데 모든 오류 메시지가 Expected linebreaks to be 'LF' but found 'CRLF'
문제를 해결하기 위해 autocrlf
실행 git config --list | grep autocrlf
하여 값을 확인 하고 다음을 얻었습니다.
core.autocrlf=true
core.autocrlf=false
전역 GIT 구성을 편집 ~/.gitconfig
하고로 대체 autocrlf = true
했습니다 autocrlf = false
.
그 후, 나는 프로젝트에 가서 다음을 수행합니다 ( src/
폴더 의 코드를 가정 ) :
CURRENT_BRANCH=$(git branch | grep \* | cut -d ' ' -f2);
rm -rf src/*
git checkout $CURRENT_BRANCH src/
답변
crlf (Windows Eol) 에서 원하는 경우 파일-> 환경 설정-> 설정으로 이동하십시오. 사용자 탭에서 “end of line”을 입력하고 파일 : Eol 이 \ r \ n으로 설정되어 있고 Prettier 확장을 사용하는 경우 Prettier : End of Line 이 crlf 로 설정되어 있는지 확인하십시오 . 마지막으로 eslintrc 파일에 다음 규칙을 추가하십시오.
'linebreak-style': ['error', 'windows']
답변
vscode를 사용하는 경우 창 오른쪽 하단의 옵션을 클릭하고 CRLF에서 LF로 설정하는 것이 좋습니다.
