web-dev-qa-db-ja.com

改行は 'LF'であると予想されましたが、 'CRLF'の改行スタイルが見つかりました

Gulpプロジェクトでeslintを使用するとき、私はこのようなエラーで問題が発生しました
Expected linebreaks to be 'LF' but found 'CRLF' linebreak-styleそして実行中のgulpにWindows環境を使用しています。エラーログ全体を以下に示します。

 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

間違いを示すエラーとして extra.js fileも含めました。

function getWindowHeight() {
    return window.innerHeight;
}

getWindowHeight();
112
SaiKiran

あなたの.eslintrcまたはソースコードのどちらかでlinebreak-styleルールが以下のように設定されているかどうかチェックしてください:

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

Windowsで作業しているので、代わりにこの規則を使用することができます。

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

linebreak-styleドキュメント を参照してください。

さまざまなエディタ、VCSアプリケーション、およびオペレーティングシステムを使用している多くの人と一緒に開発する場合は、上記のいずれかによって異なる行末が書かれることがあります(特にWindowsとMacのバージョンのSourceTreeを一緒に使用する場合)。

Windowsオペレーティングシステムで使用される改行(改行)は、通常キャリッジリターン(CR)とそれに続くラインフィード(LF)で、キャリッジリターンラインフィード(CRLF)となっています。LinuxとUnixでは単純なラインフィード(LF)を使用します。対応する制御シーケンスは、"\n"(LFの場合)および"\r\n"(CRLFの場合)です。

これは自動的に修正可能な規則です。コマンドラインの--fixオプションは、この規則によって報告された問題を自動的に修正します。

しかし、あなたがあなたのコードの中でCRLFの行末を保持したいのなら(あなたがWindowsで働いているように)、fixオプションを使わないでください。

154
Dheeraj V.S.

私はこの答えのようにlinebreak-styleを使って.eslintrcの中でそれらを無視することが有用であると思いました(ラインフィードを無視し、ファイルを変更しない場合): https://stackoverflow.com/a/43008668/1129108

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

Vscodeを使用していて、Windowsにアクセスしている場合はウィンドウの右下にあるオプションをクリックして、CRLFからLFに設定しますWindowsのエラーを取り除くためだけにこの設定をオフにしないでください。

38
Mr_Perfect

私はgit config core.autocrlf trueを実行したため、元に戻すのを忘れたので、私と一緒に起こります。

その後、私がチェックアウトして新しいコードを取得すると、すべてのLF(Unixではブレークライン)がCRLF(Windowsではブレークライン)に置き換えられました。

私はリンターを走らせました、そして、すべてのエラーメッセージはExpected linebreaks to be 'LF' but found 'CRLF'です

この問題を解決するために、git config --list | grep autocrlfを実行してautocrlfの値を確認しました。

core.autocrlf=true
core.autocrlf=false

グローバルGIT設定~/.gitconfigを編集し、autocrlf = trueautocrlf = falseに置き換えました。

その後、私は自分のプロジェクトに行き、次のことを行います(src/フォルダー内のコードを想定して)。

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

.gitconfigファイルのautocrlffalseパラメータを作成し、コードを再クローンしたところです。出来た!

[core] autocrlf = false

4
vnxyz

Vscodeを使用している場合は、ウィンドウの右下にあるオプションをクリックしてCRLFのLFに設定することをお勧めします。これによりエラーが修正されました。

0
Athif Shaffy

WebStormを使用していて、Windowsを使用している場合は、設定/エディター/コードスタイル/全般タブをクリックして、ドロップダウンメニューから「windows(\ r\n)」を選択します。これらの手順はRiderにも適用されます。

enter image description here

0
binary_fm