javascript - original - Se esperaba que los saltos de línea fueran ''LF'' pero se encontró al estilo de salto de línea ''CRLF''
salto de linea jquery (7)
Al usar eslint en el proyecto gulp, he encontrado un problema con un error como este
Expected linebreaks to be ''LF'' but found ''CRLF'' linebreak-style
y estoy usando el entorno de Windows para el trago en ejecución y el registro de errores completo se muestra a continuación
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
También he incluido el archivo extra.js como el error que indica un posible error.
function getWindowHeight() {
return window.innerHeight;
}
getWindowHeight();
Acabo de hacer que
autocrlf
param en el archivo .gitconfig sea
false
y recloné el código.
¡Funcionó!
[core] autocrlf = false
Compruebe si tiene la regla de
linebreak-style
salto de línea configurada como se muestra a continuación, ya sea en su .eslintrc o en el código fuente:
/*eslint linebreak-style: ["error", "unix"]*/
Como está trabajando en Windows, es posible que desee utilizar esta regla en su lugar:
/*eslint linebreak-style: ["error", "windows"]*/
Consulte la
documentation
de
linebreak-style
:
Cuando se desarrolla con muchas personas que tienen editores, aplicaciones VCS y sistemas operativos diferentes, puede ocurrir que las terminaciones de línea diferentes sean escritas por cualquiera de los mencionados (puede ocurrir especialmente cuando se usan las versiones de Windows y Mac de SourceTree juntas).
Los saltos de línea (nuevas líneas) utilizados en el sistema operativo Windows suelen ser retornos de carro (CR) seguidos de un salto de línea (LF), lo que lo convierte en un salto de línea de retorno de carro (CRLF), mientras que Linux y Unix usan un salto de línea simple (LF). Las secuencias de control correspondientes son
"/n"
(para LF) y"/r/n"
para (CRLF).
Esta es una regla que se puede corregir automáticamente.
La opción
--fix
en la línea de comando corrige automáticamente los problemas reportados por esta regla.
Pero si desea conservar las terminaciones de línea
CRLF
en su código (ya que está trabajando en Windows), no use la opción de
fix
.
Lo encontré útil (donde quería ignorar los avances de línea y no cambiar ningún archivo) para ignorarlos en el .eslintrc usando linebreak-style según esta respuesta: https://.com/a/43008668/1129108
module.exports = {
extends: ''google'',
quotes: [2, ''single''],
globals: {
SwaggerEditor: false
},
env: {
browser: true
},
rules:{
"linebreak-style": 0
}
};
Si está usando vscode y está en Windows, le recomendaría que haga clic en la opción en la parte inferior derecha de la ventana y la configure en LF desde CRLF . Porque no debemos apagar la configuración solo por eliminar errores en Windows
Si no ve LF / CLRF, haga clic derecho en la barra de estado y seleccione Editor Fin de línea.
Si está utilizando vscode, le recomendaría que haga clic en la opción en la parte inferior derecha de la ventana y la configure en LF desde CRLF ... esto solucionó mis errores
Sucedió conmigo porque ejecuté
git config core.autocrlf true
y olvidé volver atrás.
Después de eso, cuando pago / extraigo un nuevo código, todo LF (línea de corte en Unix) fue reemplazado por CRLF (línea de corte en Windows).
Ejecuté linter, y todos los mensajes de error son
Expected linebreaks to be ''LF'' but found ''CRLF''
Para solucionar el problema, verifiqué el valor de
autocrlf
ejecutando
git config --list | grep autocrlf
git config --list | grep autocrlf
y obtuve:
core.autocrlf=true
core.autocrlf=false
Edité la configuración global de GIT
~/.gitconfig
y reemplacé
autocrlf = true
por
autocrlf = false
.
Después de eso, fui a mi proyecto y hice lo siguiente (asumiendo el código en
src/
folder):
CURRENT_BRANCH=$(git branch | grep /* | cut -d '' '' -f2);
rm -rf src/*
git checkout $CURRENT_BRANCH src/