项目运行时,偶尔会报错:

error Delete `` prettier/prettier

该错误通常与行尾换行符相关。

一、行尾换行符问题

通常是由于不同操作系统之间的换行符差异引起的。

  • windows:在换行的时候同时使用了CR和LF换行符,即\r\n
  • Mac和Linux:仅仅使用了换行符LF,即\n

在使用 Git 等版本控制工具时,可能会出现行尾换行符混合的情况,从而导致 Prettier 报错。

二、解决方案

  1. 单个文件解决:
    选中报错的文件,然后点击vscode编辑器下面的CRLF,切换到LF(这种方法适用于报错文件比较少的情况)。

  2. 在*.eslintrc.js*中增加配置,忽略换行格式的检查

  3. 在控制台执行指令:

yarn run lint --fix

自动将CRLF转换成了LF。但是会有好多文件有修改记录。需要提交一下。

  1. 根据分析问题可知,这一切都是git导致的(git会自动将lf转为crlf)

好在git暴漏了这个配置项core.autocrlf,我们可以通过修改此属性,将全局autocrlf设置为false。

git config --global core.autocrlf false

其它

代码换行格式不同,不会影响项目的运行和编译,但是每次修改以后都会提交,这样容易造成上面的错误。

所以本地忽略换行符校验,git上不自动转换CRLF,是比较合适的解决方案。具体可根据自己需求选择。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐