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