Se esperaba que los saltos de línea fueran 'LF' pero se encontró el estilo de salto de línea 'CRLF'

Resuelto SaiKiran asked hace 8 años • 23 respuestas

Al usar eslint en el proyecto gulp, encontré un problema con un error como este
Expected linebreaks to be 'LF' but found 'CRLF' linebreak-styley estoy usando el entorno Windows para ejecutar gulp y el registro de errores completo se proporciona 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 incluí el archivo extra.js como error que indica un posible error.

function getWindowHeight() {
    return window.innerHeight;
}

getWindowHeight();
SaiKiran avatar Jun 15 '16 11:06 SaiKiran
Aceptado

Compruebe si tiene la linebreak-styleregla configurada como se muestra a continuación en su .eslintrc o en el código fuente:

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

Dado que está trabajando en Windows, es posible que desee utilizar esta regla en su lugar:

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

Consulte la documentación de linebreak-style:

Al desarrollar con muchas personas que tienen diferentes editores, aplicaciones VCS y sistemas operativos, puede ocurrir que cualquiera de los mencionados escriba diferentes finales de línea (puede ocurrir especialmente cuando se usan las versiones de SourceTree para Windows y Mac 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 utilizan 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 --fixopción en la línea de comando corrige automáticamente los problemas informados por esta regla.

Pero si desea conservar CRLFlos finales de línea en su código (mientras trabaja en Windows), no utilice esta fixopción.

Dheeraj Vepakomma avatar Jun 15 '2016 05:06 Dheeraj Vepakomma

Me resultó útil (cuando quería ignorar los cambios de línea y no cambiar ningún archivo) ignorarlos en .eslintrc usando el estilo de salto de línea según esta respuesta: https://stackoverflow.com/a/43008668/1129108

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

Si está utilizando 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 desactivar la configuración sólo por eliminar errores en Windows

Si no ve LF/CLRF, haga clic derecho en la barra de estado y seleccione Editor de fin de línea.

menú

Ram_T avatar Sep 20 '2018 05:09 Ram_T

Aquí hay una muy buena manera de gestionar este error. Puede colocar la siguiente línea en el archivo .eslintrc.js.

Según el sistema operativo, se necesitarán finales de línea adecuados.

rules: {
        'linebreak-style': ['error', process.platform === 'win32' ? 'windows' : 'unix'],
 }
H_H avatar Dec 31 '2020 09:12 H_H