(换行样式)预期换行符为“LF”,但发现为“CRLF”。 (埃斯林特)

Posted

技术标签:

【中文标题】(换行样式)预期换行符为“LF”,但发现为“CRLF”。 (埃斯林特)【英文标题】:(linebreak-style) Expected linebreaks to be 'LF' but found 'CRLF'. (eslint) 【发布时间】:2016-01-16 08:13:10 【问题描述】:

我在运行 lint 测试时遇到了这个错误,如何解决这个错误:

(linebreak-style) Expected linebreaks to be 'LF' but found 'CRLF'. (eslint)

PS:也许会有所帮助:我使用的是 Windows (WebStorm),项目正在 Debian 中运行和调试。

【问题讨论】:

我不理解 JSON 的错误? 欢迎来到 Stack Overflow :) 请熟悉如何提出一个好问题。您应该向我们提供导致错误的代码并证明您进行了一些研究。 LF 和 CRLF 可能是 UNIX (如 OS 和 Windows)上的行尾问题。但我们不是巫师,无法从天堂知道出了什么问题。 :) 祝你好运 您的问题是什么?你一个都没问。您已经发布了一个非常清晰且不言自明的错误消息(两次)并声明您遇到了错误。 *nix (Unix, Linux, Mac OS X) 都使用 LF 作为行尾; Windows 使用 CRLF。所以显然你有一个文件,你试图在 Debian 上使用 Windows 行结尾。所以修复行尾。 我对舒尔进行了研究。找不到解决办法 也 link 没有意义。但是link 是一个解决方案。任何地方 *** 都没有这个问题,也许这条评论会有所帮助 【参考方案1】:

主要的解决方案是 Windows 默认使用 CRLF,就像我的 WebStorm。

1) 第一步是更改 WebStorm 默认编码,如下所示:

https://www.jetbrains.com/phpstorm/help/configuring-line-separators.html

2)并在状态栏上进行更改

https://www.jetbrains.com/phpstorm/help/status-bar.html

保存!和

OKAY No lint warnings.

【讨论】:

对我不起作用。在我切换到 master 分支后,所有换行错误都回来了,并在编辑器中更改它,在我的提交中添加了 100 个文件差异。 也不适合我。在界面、设置上设置 LF,然后将 repo 中的所有文件(所有带有 LF 的 unix 文件)转换为 SRLF【参考方案2】:

在终端或 cmd 提示符下运行它

git config core.autocrlf false
git rm --cached -r .
git reset --hard

注意 - 确保您没有任何未提交的更改,否则它将被删除!

【讨论】:

【参考方案3】:

如果您使用的是 Vs-Code,只需在终端中运行此命令:

yarn run lint --fix

我不确定这是否适用于所有编辑,但绝对值得一试。

【讨论】:

以上是关于(换行样式)预期换行符为“LF”,但发现为“CRLF”。 (埃斯林特)的主要内容,如果未能解决你的问题,请参考以下文章

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

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

git 跨平台换行符处理

CR, LF, CR/LF 回车 换行

CR, LF, CR/LF 回车 换行

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