it-swarm.com.ru

Ожидаемые разрывы строк будут «LF», но найдены «CRLF»

При использовании eslint в проекте Gulp я столкнулся с проблемой с ошибкой, как это
Expected linebreaks to be 'LF' but found 'CRLF' linebreak-style и я использую среду Windows для запуска gulp, и весь журнал ошибок приведен ниже

 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();
118
SaiKiran

Проверьте, настроено ли правило linebreak-style, как указано ниже, в файле .eslintrc или в исходном коде:

/*eslint linebreak-style: ["error", "unix"]*/

Поскольку вы работаете в Windows, вы можете вместо этого использовать это правило:

/*eslint linebreak-style: ["error", "windows"]*/

Обратитесь к документация из linebreak-style:

При разработке с большим количеством людей, имеющих разные редакторы, приложения VCS и операционные системы, может случиться так, что разные окончания строки будут написаны любым из упомянутых (особенно это может случиться при совместном использовании версий SourceTree для Windows и Mac).

Разрывы строки (новые строки), используемые в операционной системе Windows, обычно представляют собой возврат каретки (CR), за которым следует перевод строки (LF), что делает его переводом перевода строки (CRLF), тогда как Linux и Unix используют простой перевод строки (LF). Соответствующими управляющими последовательностями являются "\n" (для LF) и "\r\n" для (CRLF).

Это правило, которое можно исправить автоматически. Параметр --fix в командной строке автоматически исправляет проблемы, о которых сообщается в этом правиле.

Но если вы хотите сохранить в своем коде окончания строки CRLF (так как вы работаете в Windows), не используйте опцию fix.

155
Dheeraj V.S.

Мне было полезно (где я хотел игнорировать переводы строк и не изменять какие-либо файлы) игнорировать их в .eslintrc, используя стиль перевода строки согласно этому ответу: https://stackoverflow.com/a/43008668/ 1129108

module.exports = {
  extends: 'google',
  quotes: [2, 'single'],
  globals: {
    SwaggerEditor: false
  },
  env: {
    browser: true
  },
  rules:{
    "linebreak-style": 0
  }
};
98
The Coder

Если вы используете vscode и используете Windows, я бы порекомендовал вам выберите параметр в правом нижнем углу окна и установите для него значение [LF из CRLF]. Потому что мы не должны выключать конфигурацию только ради устранения ошибок в Windows

46
Mr_Perfect

Просто сделал параметр autocrlf в файле .gitconfig false и повторил код. Это сработало!

[core] autocrlf = false

5
vnxyz

Произошло со мной, потому что я запустил 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/
4
Abdennour TOUMI

Если вы используете vscode, я бы порекомендовал вам щелкнуть опцию в правом нижнем углу окна и установить для нее значение [LF из CRLF .. это исправило мои ошибки

1
Athif Shaffy

Если вы используете WebStorm и используете Windows , я бы порекомендовал вам щелкните настройки/редактор/стиль кода/вкладку "Общие" и выберите "окна (\ r\n)" в раскрывающемся меню. Эти шаги также применимы к Rider.

enter image description here

0
binary_fm