419

Prettier 1.7.2 と Eslint 1.7.0 で vscode を使用しています。すべての改行の後、次のようになります。

[eslint] Delete 'cr' [prettier/prettier]

これは .eslintrc.json です:

{
  "extends": ["airbnb", "plugin:prettier/recommended"],
  "env": {
    "jest": true,
    "browser": true
  },
  "rules": {
    "import/no-extraneous-dependencies": "off",
    "import/prefer-default-export": "off",
    "no-confusing-arrow": "off",
    "linebreak-style": "off",
    "arrow-parens": ["error", "as-needed"],
    "comma-dangle": [
      "error",
      {
        "arrays": "always-multiline",
        "objects": "always-multiline",
        "imports": "always-multiline",
        "exports": "always-multiline",
        "functions": "ignore"
      }
    ],
    "no-plusplus": "off"
  },
  "parser": "babel-eslint",
  "plugins": ["react"],
  "globals": {
    "browser": true,
    "$": true,
    "before": true,
    "document": true
  }
}

.prettierrcファイル:

{
  "printWidth": 80,
  "tabWidth": 2,
  "semi": true,
  "singleQuote": true,
  "trailingComma": "es5",
  "bracketSpacing": true,
  "jsxBracketSameLine": false,
}

このエラーを取り除くにはどうすればよいですか?

4

31 に答える 31

38

解決

git config --global core.autocrlf false

グローバル構成の後、コードを再度プルする必要があります。

問題の根本原因:

犯人はgit、の構成プロパティですcore.autocrlf

windows歴史的な理由から、とのテキスト ファイルの改行linuxは異なります。

  • Windows改行時にキャリッジリターンを併用してCR(carriage-return character)改行LF(linefeed character)
  • MacLinux改行文字のみを使用しますLF
  • の古いバージョンMacはキャリッジ リターンを使用しますCR

したがって、テキスト ファイルを作成して異なるシステムで使用すると、非互換性の問題が発生します。

でコードを複製するとWindows、デフォルトautocrlftrueになり、ファイルの各行が自動的に に変換されCRLFます。ファイルに変更を加えない場合は、自動的に に変換されるため、eslint削除CRしてください。pre-commitgitCRLFLF

参照

https://developpaper.com/solution-to-delete-%E2%90%8Deslint-prettier-prettier-error/

于 2021-04-28T18:24:18.913 に答える
27

上記のコードが機能しない場合は、次の 2 つの手順を試してください。

1.ルールオブジェクト内のファイル.eslintrc.jsonにこのコードを追加して、この問題を解決します

 "prettier/prettier": ["error",{
      "endOfLine": "auto"}
    ]

2 開発サーバーの変更 --fix

npm run dev

npm run dev --fix

また

npm run lint -- --fix
yarn run lint -- --fix
于 2021-05-22T09:52:39.533 に答える
8

.eslintrc ファイルに以下を追加します。

  • extends: ['prettier']plugins: ['prettier']

  • rules: {'prettier/prettier': ['error', {endOfLine: 'auto'}]}

.prettierrc でこれを削除します。

  • endOfLine: 'auto'

わたしにはできる。

于 2021-12-06T16:15:02.020 に答える
3

私にとってうまくいったのは:

  1. Roberto LL が提案したように、prettier をバージョン 2.2.1 (現時点での最新バージョン) に更新します。それを実行するには

npm の更新がよりきれいに

  1. Hakan が提案したように lint fix を実行します (これにより、プロジェクト内のすべてのファイルが変更され、行末が LF に変換されます)。

npm run lint -- --fix

.eslintrc と .prettierrc ファイルを変更する必要はありませんでした!

于 2021-01-23T23:15:32.120 に答える
2

リンターのルールを無視する必要はありません。自動修正するだけ

npm install -g prettier
prettier -w .\webpack.config.js # or other file
于 2021-03-17T08:45:40.470 に答える