---
# System prepended metadata

title: ESP32 在 Big Sur 無法編譯
tags: [Arduino, Big Sur, ESP32]

---

###### tags: `ESP32` `Big Sur` `Arduino`

# ESP32 在 Big Sur 無法編譯

如果你把 Mac 升級到 Big Sur, 會發現要使用 ESP32 Arduino core 1.0.4 版編譯 ESP32 專案會出錯：
![](https://i.imgur.com/oEyAIqV.png)
根據[這篇文章](https://github.com/espressif/arduino-esp32/issues/4408#issuecomment-726271514)的說法, 必須讓 ESP32 控制板套件改用 esptool.py 原始檔, 而不是原本的 esptool 執行檔。步驟如下：

1. 點選**偏好設定**中的 preferences.txt 連結, 開啟偏好設定所在的資料夾。
2. 進入 packages/esp32/hardware/esp32/1.x.x 資料夾中, 開啟 platform.txt 檔。
3. 將以下這行：
    ```
    tools.esptool_py.cmd=esptool
    ```
    修改成：
    ```
    tools.esptool_py.cmd=esptool.py
    ```
1. 接著複製 tools 資料夾下的 esptool.py, 貼到你的使用者資料夾下的 ArduinoLibraryFolder/packages/esp32/tools/esptool_py/2.x.x 路徑下。
2. 幫系統內建的 Python2 安裝 pyserial。首先安裝 pip 工具：
    ```bash
    curl https://bootstrap.pypa.io/2.7/get-pip.py --output get-pip.py
    python get-pip.py
    ```
    再利用 pip 工具安裝 pyserial：
    ```bash
    python -m pip install pyserial
    ```
1. 重新開啟 Arduino 就可以正常編譯 ESP32 專案了。

    