运行gulp build时报错:error Expected linebreaks to be 'LF' but found 'CRLF' linebreak-style
報(bào)錯(cuò)截圖:
報(bào)錯(cuò)的原因是項(xiàng)目代碼做了eslint的規(guī)范檢查,規(guī)定了換行需要以u(píng)nix系統(tǒng)的換行方式,Linux下只有換行LF,
而在window下?lián)Q行默認(rèn)是CRLF,在window系統(tǒng)下git pull項(xiàng)目的時(shí)候,git會(huì)默認(rèn)將文件中的LF換行方式轉(zhuǎn)為系統(tǒng)默認(rèn)的CRLF換行格式,才會(huì)導(dǎo)致用vscode打開時(shí),所有的文件都是CRLF,這樣代碼提交后,會(huì)出現(xiàn)編譯問題(服務(wù)端為linux系統(tǒng))
這種差異是因?yàn)橄到y(tǒng)的不同而存在,具體差異:
差異:Windows系統(tǒng)下文本文件的換行符是: 回車+換行CR/LF即 \r\n或^M\nlinux/unix系統(tǒng)下文本文件的換行符是:換行LF即 \nMac OS系統(tǒng)下文本文件的換行符:回車CR即 \r或^M實(shí)際中,我希望在pull的時(shí)候不會(huì)進(jìn)行任何轉(zhuǎn)換,push的時(shí)候再將CRLF轉(zhuǎn)換成LF,怎么做呢?這里需要對(duì)git進(jìn)行配置;
在git Bash命令窗口輸入
$ git config --global core.autocrlf input // core.autocrlf后跟三個(gè)參數(shù),分別為:true、input、false;具體選擇什么參數(shù)要看具體項(xiàng)目的的實(shí)際要求其中core.autocrlf后有三個(gè)參數(shù)可選,具體作用如下:
1、Git可以在你提交時(shí)自動(dòng)地把行結(jié)束符CRLF轉(zhuǎn)換成LF,而在簽出代碼時(shí)把LF轉(zhuǎn)換成CRLF。用core.autocrlf來打開此項(xiàng)功能,如果是在Windows系統(tǒng)上,把它設(shè)置成true,這樣當(dāng)簽出代碼時(shí),LF會(huì)被轉(zhuǎn)換成CRLF:
git config --global core.autocrlf true2、Linux或Mac系統(tǒng)使用LF作為行結(jié)束符,因此你不想 Git 在簽出文件時(shí)進(jìn)行自動(dòng)的轉(zhuǎn)換;當(dāng)一個(gè)以CRLF為行結(jié)束符的文件不小心被引入時(shí)你肯定想進(jìn)行修正,把core.autocrlf設(shè)置成input來告訴 Git 在提交時(shí)把CRLF轉(zhuǎn)換成LF,簽出時(shí)不轉(zhuǎn)換:
git config --global core.autocrlf input3、Linux或Mac系統(tǒng)使用LF作為行結(jié)束符,因此你不想 Git 在簽出文件時(shí)進(jìn)行自動(dòng)的轉(zhuǎn)換;當(dāng)一個(gè)以CRLF為行結(jié)束符的文件不小心被引入時(shí)你肯定想進(jìn)行修正,把core.autocrlf設(shè)置成input來告訴 Git 在提交時(shí)把CRLF轉(zhuǎn)換成LF,簽出時(shí)不轉(zhuǎn)換:
git config --global core.autocrlf false?
如何在vscode中把換行的默認(rèn)方式改為LF?
設(shè)置 ->?搜索files:eol進(jìn)行設(shè)置??????? -> 選擇:\n
\n 對(duì)應(yīng)的是 LF
\r\n對(duì)應(yīng)的是CRLF
如何在vscode中設(shè)置tab的縮進(jìn)大小?
同樣設(shè)置里搜索tabsize
參考文章鏈接:
git中配置autocrlf來正確處理crlf
Git 處理換行符的配置方法
?
總結(jié)
以上是生活随笔為你收集整理的运行gulp build时报错:error Expected linebreaks to be 'LF' but found 'CRLF' linebreak-style的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 139邮箱 push mail
- 下一篇: 2022年中国元宇宙白皮书完整版下载_中