開發掉坑(一)tar命令解壓文件覆蓋源文件


今天在編譯機上編譯前端代碼,報了找不到依賴的異常。檢查后發現是node_modules/.bin下少了一些文件。

一開始疑惑為什么本地能成功生成軟鏈在node_modules/.bin,服務器上面卻不行呢?
帶着疑惑檢查了一遍shell腳本,發現原來在安裝依賴的時候有一個坑。

安裝依賴的過程如下:

  1. 執行npm i安裝依賴
  2. 解壓編譯好的二進制依賴到node_modules

問題就出在第二步,使用tar -zxvf xxx.gz -C node_modules解壓文件,會把同名的源文件覆蓋掉,導致第一步生成的.bin被覆蓋了。

解決后,思考了一下以后如何避免這種問題:

  1. 使用了解不深的技術時,要詳細閱讀api文檔,清楚調用它會帶來什么結果。
  2. 測試要到位,這次是之前改了編譯邏輯,沒有覆蓋測試,導致遇到這個難以察覺的bug。
  3. 排查問題時,本地環境要與服務器環境一致,要一步步debug推進,看看究竟是拿一步出問題。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM