🗒️windows ESLint: Expected linebreaks to be 'LF' but found 'CRLF'.(linebreak-style)

type
status
slug
date
tags
summary
category
password
icon

换行符格式

  • CR:Carriage Return,对应ASCII中转义字符\r,表示回车
  • LF:LineFeed,对应ASCII中转义字符\n,表示换行 unix风格
  • CRLF:Carriage Return & Linefeed,\r\n,表示回车并换行

问题原因

项目中设置检查换行格式unix,git开启了自动转换(拉代码的时候把LF转为了CRLF)导致报错

解决方法

A 修改eslint配置

禁用windows检测
.editorconfig不做限制,通过git CRLF 和 LF转换,关闭windows检测

B 修改编辑器

如果按照这种改法,git转换也要关掉,再搭配.editorconfig限制lf使用
notion image

其他

git CRLF 和 LF转换

windows
Git可以在你提交时自动地把行结束符CRLF转换成LF,而在签出代码时把LF转换成CRLF。用core.autocrlf来打开此项功能,如果是在Windows系统上,把它设置成true,这样当签出代码时,LF会被转换成CRLF
Linux/UNIX、OS X
在Linux/UNIX、OS X系统以及库中保留LF作为换行符。

不同系统之间的换行符

.editorconfig编辑器配置

.editorconfig的自定义文件。该文件用来定义项目的编码规范,编辑器的行为会与.editorconfig 文件中定义的一致,并且其优先级比编辑器自身的设置要高,这在多人合作开发项目时十分有用而且必要
有些编辑器默认支持editorConfig,如webstorm;而有些编辑器则需要安装editorConfig插件,如ATOM、Sublime、VS Code等
webstorm需要启用
notion image
 
上一篇
mac lrzsz iterm 配置
下一篇
PHP 实现 redis 分布式锁
Loading...
文章列表
王小扬博客
Git
AI
产品
film
AI Code
Java
其他
计算机网络
DB
云原生
Node
Docker
操作系统
Elasticsearch
Apollo
Nestjs
Think
大前端
PHP
软件开发
设计
生活技巧
CI
缓存