webentwicklung-frage-antwort-db.com.de

Erwartete Zeilenumbrüche lauten 'LF', es wurde jedoch der Zeilenumbruchsstil 'CRLF' gefunden

Bei der Verwendung von eslint im gulp-Projekt ist ein solches Fehlerproblem aufgetreten
Expected linebreaks to be 'LF' but found 'CRLF' linebreak-style und ich verwende die Windows-Umgebung für das Ausführen von gulp und das gesamte Fehlerprotokoll ist unten angegeben

 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

Ich habe auch die Datei extra.js als Fehler angegeben, der auf einen möglichen Fehler hinweist.

function getWindowHeight() {
    return window.innerHeight;
}

getWindowHeight();
123
SaiKiran

Überprüfen Sie, ob die linebreak-style -Regel in Ihrer .eslintrc-Datei oder im Quellcode wie folgt konfiguriert ist:

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

Da Sie unter Windows arbeiten, möchten Sie möglicherweise stattdessen diese Regel verwenden:

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

Siehe Dokumentation von linebreak-style:

Bei der Entwicklung mit einer Vielzahl von Benutzern mit unterschiedlichen Editoren, VCS-Anwendungen und Betriebssystemen kann es vorkommen, dass beide der genannten Zeilenenden unterschiedlich geschrieben werden (dies kann insbesondere dann der Fall sein, wenn Sie die Windows- und die Mac-Version von SourceTree zusammen verwenden).

Die Zeilenumbrüche (neue Zeilen), die im Windows-Betriebssystem verwendet werden, sind normalerweise Zeilenumbrüche (Carriage Return, CR), gefolgt von einem Zeilenvorschub (LF), der einen Zeilenvorschub (Carriage Return, CRLF) darstellt, während Linux und Unix einen einfachen Zeilenvorschub (LF) verwenden. Die entsprechenden Steuersequenzen sind "\n" (für LF) und "\r\n" für (CRLF).

Dies ist eine Regel, die automatisch repariert werden kann. Die Option --fix in der Befehlszeile behebt automatisch die von dieser Regel gemeldeten Probleme.

Wenn Sie jedoch CRLF Zeilenenden in Ihrem Code beibehalten möchten (während Sie unter Windows arbeiten), verwenden Sie nicht die Option fix.

165
Dheeraj V.S.

Ich fand es nützlich (wo ich Zeilenvorschübe ignorieren und keine Dateien ändern wollte), sie in der .eslintrc im Zeilenumbruch-Stil zu ignorieren, wie in dieser Antwort angegeben: https://stackoverflow.com/a/43008668/ 1129108

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

Wenn Sie vscode verwenden und unter Windows arbeiten, würde ich Ihnen empfehlen, auf die Option unten rechts zu klicken des Fensters und setzen Sie es auf LF von CRLF . Da wir die Konfiguration nicht nur aus Gründen der Fehlerbehebung unter Windows deaktivieren sollten

Wenn LF/CLRF nicht angezeigt wird, klicken Sie mit der rechten Maustaste auf die Statusleiste und wählen Sie Editor End of Line.

menu

52
Mr_Perfect

Habe gerade autocrlf in der .gitconfig-Datei false param gemacht und den Code neu geklont. Es funktionierte!

[core] autocrlf = false

7
vnxyz

Passiert mit mir, weil ich git config core.autocrlf true ausgeführt habe und vergessen habe, zurückzukehren.

Danach wurde beim Auschecken/Abrufen von neuem Code alles LF (Unterbrechungslinie in Unix) durch CRLF (Unterbrechungslinie in Windows) ersetzt.

Ich habe linter ausgeführt und alle Fehlermeldungen sind Expected linebreaks to be 'LF' but found 'CRLF'

Um das Problem zu beheben, überprüfte ich den Wert von autocrlf durch Ausführen von git config --list | grep autocrlf und bekam:

core.autocrlf=true
core.autocrlf=false

Ich habe die globale GIT-Konfiguration ~/.gitconfig bearbeitet und autocrlf = true durch autocrlf = false ersetzt.

Danach bin ich zu meinem Projekt gegangen und habe Folgendes ausgeführt (unter der Annahme, dass sich der Code im Ordner src/ befindet):

CURRENT_BRANCH=$(git branch | grep \* | cut -d ' ' -f2);
rm -rf src/*
git checkout $CURRENT_BRANCH src/
5
Abdennour TOUMI

Wenn Sie vscode verwenden, empfehle ich Ihnen, auf die Option unten rechts im Fenster zu klicken und sie unter CRLF auf LF zu setzen. Dies hat meine Fehler behoben

4
Athif Shaffy

Wenn Sie WebStorm verwenden und Windows verwenden, würde ich Ihnen empfehlen, auf Einstellungen/Editor/Codestil/Registerkarte Allgemein und zu klicken Wählen Sie "windows (\ r\n)" aus dem Dropdown-Menü. Diese Schritte gelten auch für Rider.

enter image description here

0
binary_fm