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();
あなたの.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
オプションを使わないでください。
私はこの答えのように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
}
};
Vscodeを使用していて、Windowsにアクセスしている場合はウィンドウの右下にあるオプションをクリックして、CRLFからLFに設定します。 Windowsのエラーを取り除くためだけにこの設定をオフにしないでください。
私は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 = true
をautocrlf = false
に置き換えました。
その後、私は自分のプロジェクトに行き、次のことを行います(src/
フォルダー内のコードを想定して)。
CURRENT_BRANCH=$(git branch | grep \* | cut -d ' ' -f2);
rm -rf src/*
git checkout $CURRENT_BRANCH src/
.gitconfigファイルのautocrlf
にfalse
パラメータを作成し、コードを再クローンしたところです。出来た!
[core] autocrlf = false
Vscodeを使用している場合は、ウィンドウの右下にあるオプションをクリックしてCRLFのLFに設定することをお勧めします。これによりエラーが修正されました。