• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

VScode CRLF 和 LF 兼容问题,报错原因和解决方案

武飞扬头像
家有睿少
帮助1

学新通
报错原因  

在 Windows 操作系统中使用的换行符通常是回车换行符 \r\n (CRLF),而Linux和Unix使用简单换行 符 \n (LF)。

解决办法

方法1

修改prettier.config.js配置文件, 不让prettier检测文件每行结束的格式。
"endOfLine": "auto"
缺点】不能兼容跨平台开发

方法2

yarn lint
eslint错误消失,但暂存区出现N个文件改动记录,对比Working tree也没发现任何不同。
缺点】需要commit所有文件

方法3

使用插件 EditorConfig for VS Code , 在更目录 新建 .editorconfig 文件内容如下,保存时可以自动转换。
缺点】被自动转换的文件出现在暂存区,需要commit转换的文件
  1.  
    # top-most EditorConfig file
  2.  
    root = true
  3.  
    # Unix-style newlines with a newline ending every file
  4.  
    [*]
  5.  
    # lf, cr, or crlf
  6.  
    end_of_line = lf
  7.  
    # ensure file ends with a newline when saving
  8.  
    insert_final_newline = true
学新通
学新通

方法4 

通过IDE一键切换
以VScode为例
学新通

缺点】只能修复当前文件,不能解决整个项目报错的问题

方法5 

【推荐】git core.autocrlf配置
当我们用windows电脑git clone代码的时候,若autocrlf(在windows下安装git,该选项默认为true)为true,那么 文件每行会被自动转成以CRLF结尾,若对文件不做任何修改,pre-commit执行eslint的时候就会提示你删除CR。
所以我们可以进行如下全局配置,配置完成重新拉取代码就可以解决:
git config --global core.autocrlf false
true: 提交时转换为 LF,拉取时转换为 CRLF
false: 提交拉取均不转换
input: 提交时转换为LF,拉取时不转换

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgbfjke
系列文章
更多 icon
同类精品
更多 icon
继续加载