web-dev-qa-db-fra.com

Les sauts de ligne attendus doivent être 'LF' mais le style de sauts de ligne 'CRLF' a été trouvé

Lors de l'utilisation d'eslint dans le projet gulp, j'ai rencontré un problème avec une erreur comme celle-ci.
Expected linebreaks to be 'LF' but found 'CRLF' linebreak-style et j'utilise l'environnement Windows pour le gulp en cours d'exécution et le journal complet des erreurs est donné ci-dessous

 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

J'ai aussi inclus le fichier extra.js en tant qu'erreur indiquant une erreur possible.

function getWindowHeight() {
    return window.innerHeight;
}

getWindowHeight();
123
SaiKiran

Vérifiez si vous avez la règle linebreak-style configurée comme ci-dessous, soit dans votre code .eslintrc, soit dans votre code source:

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

Puisque vous travaillez sous Windows, vous pouvez utiliser cette règle à la place:

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

Reportez-vous à la documentation de linebreak-style:

Lorsque vous développez avec un grand nombre de personnes ayant tous des éditeurs, des applications VCS et des systèmes d'exploitation différents, il peut arriver que des fins de ligne différentes soient écrites par l'un des deux éléments mentionnés (notamment lorsque vous utilisez conjointement les versions Windows et mac de SourceTree).

Les sauts de ligne (nouvelles lignes) utilisés dans le système d'exploitation Windows sont généralement des retours à la ligne (CR) suivis d'un saut de ligne (LF), ce qui en fait un retour à la ligne (CRLF), tandis que Linux et Unix utilisent un simple saut de ligne (LF). Les séquences de contrôle correspondantes sont "\n" (pour LF) et "\r\n" pour (CRLF).

C'est une règle qui est automatiquement réparable. L'option --fix sur la ligne de commande corrige automatiquement les problèmes signalés par cette règle.

Toutefois, si vous souhaitez conserver les fins de ligne CRLF dans votre code (car vous travaillez sous Windows), n'utilisez pas l'option fix.

165
Dheeraj V.S.

J'ai trouvé utile (où je voulais ignorer les sauts de ligne et ne changer aucun fichier) de les ignorer dans le fichier .eslintrc en utilisant le style de saut de ligne comme indiqué dans cette réponse: 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

Si vous utilisez vscode et que vous êtes sur Windows , je vous recommanderais de cliquez sur l'option en bas à droite. de la fenêtre et réglez-le sur LF à partir de CRLF . Parce que nous ne devrions pas désactiver la configuration juste pour supprimer les erreurs sur Windows

Si vous ne voyez pas LF/CLRF, cliquez avec le bouton droit de la souris sur la barre d'état et sélectionnez Fin de ligne de l'éditeur.

menu

52
Mr_Perfect

Je viens de créer autocrlf param dans le fichier .gitconfig false et de recloner le code. Ça a marché!

[core] autocrlf = false

7
vnxyz

C'est arrivé avec moi parce que j'ai couru git config core.autocrlf true et j'ai oublié de revenir.

Après cela, lorsque je récupère/extrait le nouveau code, tout LF (ligne de rupture sous Unix) a été remplacé par CRLF (ligne de rupture sous Windows).

J'ai couru linter, et tous les messages d'erreur sont Expected linebreaks to be 'LF' but found 'CRLF'

Pour résoudre le problème, j'ai vérifié la valeur de autocrlf en exécutant git config --list | grep autocrlf et j'ai obtenu:

core.autocrlf=true
core.autocrlf=false

J'ai édité la configuration globale GIT ~/.gitconfig et remplacé autocrlf = true par autocrlf = false.

Après cela, je suis allé dans mon projet et procédez comme suit (en supposant que le code se trouve dans le dossier src/]:

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

Si vous utilisez vscode, je vous recommanderais de cliquer sur l'option en bas à droite de la fenêtre et de la définir sur LF à partir de CRLF..Ce problème a été résolu.

4
Athif Shaffy

Si vous utilisez WebStorm et que vous êtes sur Windows , je vous recommanderais Cliquez sur Paramètres/Éditeur/Style de code/Onglet Général et sélectionnez "Fenêtres (\ r\n)" dans le menu déroulant. Ces étapes s'appliqueront également à Rider.

enter image description here

0
binary_fm