前端(vue)入門到精通課程:進(jìn)入學(xué)習(xí)
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API調(diào)試工具:點(diǎn)擊使用
最近遇到一個(gè)yarn的bug,搜索之后發(fā)現(xiàn)它竟然存在6年之久,這到底是個(gè)怎樣神奇的問題?經(jīng)過一番分析排查,我給了6個(gè)解決方案。。。
1、問題描述
最近接手的幾個(gè)項(xiàng)目包管理器用的是 yarn@v1.22.19
,在安裝依賴后無論是否成功,總是出現(xiàn)網(wǎng)絡(luò)連接問題而且會(huì)卡很長時(shí)間,然后會(huì)出現(xiàn)幾行這樣的異常日志:info There appears to be trouble with your network connection. Retrying...
。
有時(shí)一些神奇的包(比如 node-sass
)出現(xiàn)異常會(huì)導(dǎo)致安裝失敗,結(jié)果卡了半天才發(fā)現(xiàn)失敗,真的讓人很崩潰。另外在yarn
的 github
倉庫中有數(shù)十條相關(guān)的 issue
,時(shí)間跨度從2016年到2022年足足6年,原因和方案眾說紛紜。我很好奇這到底是個(gè)什么神奇的問題居然6年都沒解決,因此決定一探究竟。【相關(guān)教程推薦:nodejs視頻教程 、編程視頻】
2、問題排查
2.1、關(guān)鍵詞搜索
2.1.1、搜索 github
碰到?jīng)]啥思路的問題和報(bào)錯(cuò),第一技巧是搜它。在yarn
的 github
倉庫中搜索報(bào)錯(cuò)信息 There appears to be trouble with your network connection
,可以看到結(jié)果中有1個(gè)相關(guān)代碼和91個(gè)相關(guān) issue
。在 issue
里找了一會(huì)沒找到合適的方案,接著進(jìn)入下一步:搜索代碼。
2.1.2、搜索代碼
由于網(wǎng)絡(luò)原因這里直接轉(zhuǎn)到本地 yarn
的安裝目錄進(jìn)行查找。用 vscode
打開 yarn
的安裝目錄(我的本地目錄是~/.volta/tools/image/yarn/1.22.19
),全局搜索關(guān)鍵詞 There appears to be trouble with your network connection
??梢钥吹浇Y(jié)果同樣只有1個(gè),整串錯(cuò)誤信息賦值給了一個(gè)變量offlineRetrying
。
全局搜索關(guān)鍵詞offlineRetrying
共2處結(jié)果,除去上一步的結(jié)果只有1處引用。這里的代碼主要是拋出異常和重試,沒有