VUE中eslint报错: Expected linebreaks to be ‘LF‘ but found ‘CRLF

3 篇文章 0 订阅

出现这个的原因:windows 环境下, git 在我们 pull 代码的时候,会自动识别当前的系统环境。将原本的(linux/unix)换行改成对应系统的,在我们提交代码的时候又会转成远程系统环境的(Linux/unix),然后又装了 eslint,默认就是使用 LF,所以就会报这个错误

各种环境下换行符格式
window:CRLF(\r\n 或者^M\n)
mac: CR(\r 或^M)
linux/unix: LF(\n)

解决方式:

1. 在 vscode 的文件代码底部的 CRLF 手动切成 LF, 这样只能让eslint暂时不报错。但是实际上我们 再次pull 下来的时候,git 还是会自动把所有文件全部转成 CRLF,也还是会有报错信息
在这里插入图片描述

2. eslint 中的规则配置,在 window 环境下关闭换行符校验,让它提交的时候自动把 CRLF 转成 LF 就可以(貌似我们都没有根本解决这个问题)

"linkbreak-style":["off","windows"]

3. 从 git 拉取代码的时候入手,让 git 依据远程的代码的换行符(LF)pull,不再根据系统去转换格式。同时配置 vscode 换行符为 LF,我的做法是配置好 git 的拉取格式,再把本地原仓库整个删了,然后重新远程拉取一份代码。这样就可以了,命令如下:

git config --global core.autocrlf 有三个配置(看情况选择,我选择了 input)

  • true: push 的时候自动将 crlf 转成 LF, pull 的时候转成 crlf(这条配置就需要配置eslint关掉window环境下的换行符校验)
git config --global core.autocrlf true
  • input:push 的时候自动将 crlf 转成 LF, pull 代码的时候不自动将 LF 转成 crlf(这条配置,不需要配置eslint,代码格式与远程保持一致,我是用这个)
git config --global core.autocrlf input
  • false: 不管是 push 或者 pull 都不转换,原来的文件是什么就是什么
git config --global core.autocrlf false

其他配置:

1、拒绝提交包含混合换行符的文件

git config --global core.safecrlf true

2、允许提交包含混合换行符的文件

git config --global core.safecrlf true

3、提交包含混合换行符的文件时给出警告

git config --global core.safecrlf warn

vscode配置:
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值