预期换行符为“LF”,但发现“CRLF”但仅在一个文件中

Posted

技术标签:

【中文标题】预期换行符为“LF”,但发现“CRLF”但仅在一个文件中【英文标题】:Expected linebreaks to be 'LF' but found 'CRLF' but in only one file 【发布时间】:2020-11-03 18:00:19 【问题描述】:

我的一个文件 Expected linebreaks to be 'LF' but found 'CRLF' 出现 eslint 错误

我在 Mac 上,所有其他文件都没有出现此错误。所有文件都应该与我打开保存时编辑的相同,并且它以相同的方式格式化所有文件。为什么这个特定文件给我这个错误?

这是我的设置,我在这里做错了吗?

eslintrc 下面


  "extends": [
    "eslint-config-airbnb",
    "plugin:flowtype/recommended"
  ],
  "env": 
    "browser": true,
    "node": true,
    "mocha": true,
  ,
  "parser": "babel-eslint",
  "rules": 
    "no-nested-ternary": 0,
    "import/no-unresolved": 0,
    "import/no-named-as-default": 0,
    "no-unused-expressions": 0,
    "comma-dangle": 0, // not sure why airbnb turned this on. gross!
    "indent": [2, 2, 
      "SwitchCase": 1
    ],
    "no-console": 0,
    "no-alert": 0,
    "id-length": 0,
    "no-script-url": 0,
    "import/no-extraneous-dependencies": 0,
    "no-underscore-dangle": 0,
    "react/jsx-filename-extension": 0,
    "global-require": 0,
    "import/newline-after-import": 0,
    "import/extensions": 0,
    "prefer-template": 0,
    "max-len": 0,
    "react/prefer-stateless-function": 0,
    "react/forbid-prop-types": 0,
    "jsx-a11y/href-no-hash": "off",
    "function-paren-newline": 0,
    "react/no-typos": 0,
    "jsx-a11y/anchor-is-valid": 0,
    "react/default-props-match-prop-types": 0,
    "arrow-parens": 0,
    "jsx-a11y/label-has-for": [2, 
      "required": 
        "every": ["id"]
      ,
    ],
  ,
  "plugins": [
    "react",
    "import",
    "flowtype"
  ],
  "settings": 
    "import/parser": "babel-eslint",
    "import/resolve": 
      "moduleDirectory": ["node_modules", "src"]
    
  ,
  "globals": 
    "__CLIENT__": true,
    "__SERVER__": true,
    "beforeAll": true,
    "afterAll": true,
  

更漂亮的rc


  "printWidth": 100,
  "trailingComma": "all",
  "tabWidth": 2,
  "semi": true,
  "singleQuote": true

.editorconfig

# http://editorconfig.org
root = true
[*]
charset = utf-8
end_of_line = lf
indent_size = 2
indent_style = space
insert_final_newline = true
max_line_length = 100
trim_trailing_whitespace = true
[*.md]
max_line_length = 0
trim_trailing_whitespace = false
[Makefile,**.mk]
# Use tabs for indentation (Makefiles require tabs)
indent_style = tab
[*.scss]
indent_size = 2
indent_style = space

【问题讨论】:

【参考方案1】:

该文件是在另一台机器上创建的吗?

就我个人而言,我只会使用 —fix 标志运行 eslint 而不必担心。

【讨论】:

以上是关于预期换行符为“LF”,但发现“CRLF”但仅在一个文件中的主要内容,如果未能解决你的问题,请参考以下文章

git转换换行符LF与CRLF转换问题-Windows系统和Linux系统差异统一

IDEA换行CRLF, LF, CR的解释和默认设置

如何在 Bash 脚本中将 DOS/Windows 换行符 (CRLF) 转换为 Unix 换行符 (LF)

phpstorm设置换行兼容Windows(CRLF)和Linux(LF)

解决:git warning: LF will be replaced by CRLF in xxxx

在 Eclipse 中将换行从 CRLF 更改为 LF