2025年12月21日日曜日

Arduino IDEのDEADLINE_EXCEEDEDエラー対策

 Arduino IDE 2.3.7を入れた状態で、ESP32 Arduino Core 3.3.4をボードマネージャーからインストールしようとしたらDEADLINE_EXCEEDEDエラーが出てインストールできなくなってしまっていた。

Error: 4 DEADLINE_EXCEEDED: net/http: request canceled (Client.Timeout or context cancellation while reading body)
他のボードはインストールできるのになぜかESP32 Arduino Coreだけインストールできない。
DEADLINE_EXCEEDEDはどうやらタイムアウトっぽいので、Arduino IDEからみてインストールに時間がかかりすぎていて止まってるように見えてしまっているのかな?

ということでタイムアウトを伸ばせないか調べてみた。

調べてみるとどうやらarduino-cliのnetwork設定っぽくて、Linuxの設定方法ばっかり出てきたんだけど、ライブラリの方で問題が起きている人がいたっぽくてそこの設定がそのまま使えそうなのでやってみた。

C:\Users\<username>\.arduinoIDE\arduino-cli.yamlの中に設定が入っているようで、(<username>は自分がログオンしているWindowsのユーザー名)このファイルを編集していく。普通にCドライブから開いていっても隠しファイルとかじゃないので表示できる。

Arduino IDEを全部閉じた状態で、上のarduino-cli.yamlをメモ帳とかで開いて一番下の方に

network:
  connection_timeout: 300s

と入れて保存。

あとはArduino IDEをもう一度開いてインストールしてみると…

普通にインストールできるようになっていた。Windows 11でArduino IDEでDEADLINE_EXCEEDEDエラーが出ている人は試してみると良いかも。

0 件のコメント:

コメントを投稿