idea运行start命令:error Expected linebreaks to be ‘LF‘ but found ‘CRLF‘ linebreak-style

本文介绍了由于Windows和Linux系统换行符差异导致的Git项目编译错误。当在Windows下使用IDEA打开gitpull后的项目时,文件换行符被转换为CRLF,而在Linux服务器上需要的是LF。解决方案包括修改eslint配置、运行npm修复命令或手动调整IDEA的换行设置。确保项目在不同系统间兼容,避免编译错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

报错的原因是项目代码做了eslint的规范检查:

规定了换行需要以unix系统的换行方式,Linux下只有换行LF,而在window下换行默认是CRLF,
在window系统下git pull项目的时候,git会默认将文件中的LF换行方式转为系统默认的CRLF换行格式,才会导致用idea打开时,所有的文件都是CRLF,这样代码提交后,会出现编译问题(服务端为linux系统)

这种差异是因为系统的不同而存在,具体差异:

Windows系统下文本文件的换行符是: 回车+换行CR/LF即 \r\n或^M\n
linux/unix系统下文本文件的换行符是:换行LF即 \n
Mac OS系统下文本文件的换行符:回车CR即 \r或^M


解决方法一:

在eslintrc.js中修改配置,在rules对象最后添加:

"linebreak-style": [0 ,"error", "windows"],

然后要重启项目。

解决方法二:

在终端执行 npm run lint:js -- --fix 命令,进行代码格式处理,然后重新启动项目即可。

若仍报错,可能是需要将 node_modules 里的 .cache 文件夹下的 .eslintcache 先删除,然后再执行上面那行命令。

解决方法三:

点击idea右下角这个地方,这个方法比较麻烦的是,每个文件都需要修改这个地方的设置。

在windows系统下改成LF
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值