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