Arduino IDE 在安裝或更新 esp 32 開發板套件出現 「4 DEADLINE_EXCEEDED: context deadline exceeded」錯誤訊息時之解決方法


How to Fix ESP32 Install Error: "4 DEADLINE_EXCEEDED: context deadline exceeded"


如果想要用 Arduino IDE 撰寫可對 esp 32 系列開發板進行燒錄的程式,則事先須安裝 CP2102 USB to UART 的驅動程式外,還必須在 Arduino IDE 中安裝支援該系列開發板的核心函數庫。不過,當 Arduino IDE 在安裝或更新較大開發板套件如 esp 32 系列開發板 3.3.6 或其它版失敗時,常會出現如下的錯誤訊息:


4 DEADLINE_EXCEEDED: context deadline exceeded (Client.Timeout or context cancellation while reading body)

該訊息說明了因為下載逾時,導致安裝或更新的中止。原因是 Arduino IDE 在安裝或更新開發板套件時連網的預設終止時間為 60 秒 ( 參考資料 1 ),因此當網速較慢或套件較大時,一旦安裝或更新套件時間超過就會直接被中止。碰到這種情況簡單的解決方法就是去更改 Arduino IDE 的網路連線逾時終止時間 (timeout) 的配置,適當增加該秒數即可,方法如下:


直接修改 arduino-cli.yaml 檔 (Windows)

步驟如下:

(1). 關閉 Arduino IDE
(2). 進入下列路徑

C:\使用者\你的名稱\.arduinoIDE\

(3). 找到 arduino-cli.yaml 檔,以記事本開啟並加入以下文字:

network:

  connection_timeout: 600s


〔若上面文字除秒數不同外已存在該檔中,則直接以上面文字將其覆蓋〕

(4). 存檔
(5). 重新開啟 Arduino IDE 

即可將連網逾時終止時間從預設的 60 秒增加至自己指定的 600 秒,應就可順利安裝或更新 esp 32 開發板套件。


參考資料

留言

這個網誌中的熱門文章

三段式電子開關電路

陣列 (C++)

首數、尾數與位數

分壓偏壓 BJT 放大電路的直流分析及其近似解的條件

MOSFET 共汲極放大電路 (源極隨耦器) 小訊號分析

為什麼理想的 OPA 電壓放大器有虛短路與虛斷路現象

具有倒數計時自動回復功能的行人穿越道號誌控制電路