Bei der Verwendung von eslint im gulp-Projekt ist ein solches Fehlerproblem aufgetretenExpected 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();
Ü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
.
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
}
};
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.
Habe gerade autocrlf
in der .gitconfig-Datei false
param gemacht und den Code neu geklont. Es funktionierte!
[core] autocrlf = false
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/
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