---
# System prepended metadata

title: GitHub Self Hosted Runner 安裝指北

---

# GitHub Self Hosted Runner 安裝/障礙排解指北

進到自己的專案 Repo 下後，點擊 Settings
![CleanShot 2024-11-08 at 12.06.50@2x](https://hackmd.io/_uploads/SkU_AWj-1x.png)
依序點擊 Actions -> Runners
<img src="https://hackmd.io/_uploads/ByJnAZsZ1l.png" width=350/>

接著點右上角的 New self-hosted runner
![CleanShot 2024-11-08 at 12.10.46@2x](https://hackmd.io/_uploads/BJyDJGjbJl.png)
接著會來到這個頁面，請依照自己的電腦環境選擇適合的安裝方式
- 大部分筆電
    - Windows
    - x64
- Mac 系列
    - 若為 Intel 晶片 (2020 前機種)
        - Architecture 選 x64
    - 若為 M 系列晶片 (M1/M2/M3/M4/M5 and later)
        - Architecture 選 arm64

![CleanShot 2024-11-08 at 12.11.49@2x](https://hackmd.io/_uploads/BkN5Jfs-kg.png)

接著就安照下面的教學一步一步執行即可，不過請注意以下事項:
- Windows
    - 請全程用 Powershell 完成安裝指令
    - 請在 C 槽根目錄 (即 C:\) 下執行安裝指令
    - 執行前請參考下方步驟，不然 **可能** 會在 run task 的時候遇到錯誤
- Mac
    - 執行前請參考下方步驟，不然會在 run task 的時候遇到錯誤

## Windows 執行權限問題
因 Runner 執行時會嘗試執行 .ps1 的檔案 (PowerShell 可執行 Script)，預設情況下 Windows 並不會允許 .ps1 檔案的執行，並在執行時遇到如下截圖。
![image](https://hackmd.io/_uploads/Syo9QtJGJg.png)
以下是修復方法：
1. 用 **系統管理員身份** 打開 PowerShell 或 Windows 終端 (Terminal)
    > [!Tip]
    > 可使用 Win+X 快捷鍵彈出列表，裡面應該有 **Windows PowerShell (系統管理員)** / **終端機 (系統管理員)** / **Terminal (Admin)** 可以選
3. 執行以下命令
```
Set-ExecutionPolicy Unrestricted
```
這樣子應該就可以解決 runner 在 Windows 上會報錯ㄉ問題囉
> [!NOTE]
> 如果有想要了解 PowerShell Execution Policy 主要有哪些，及各自限制了哪些功能，可參 [about_Execution_Policy](https://learn.microsoft.com/zh-tw/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-7.4)

## Windows Python 爛掉的問題
如果遇到 Python 或 pip 直接裂開，出現下面這種神秘的錯誤
![image](https://hackmd.io/_uploads/B1vVdXDz1g.png)
可以嘗試再次執行 Python 安裝檔案，然後點擊 "Repair" 修復安裝應就能解決問題

## Mac 執行權限問題
因 Runner 執行時會在 /Users/runner 下放置緩存，但預設使用者是沒有這個權限在 /Users 下建立資料夾，以下是修復方法

1. 打開電腦終端機 (可以 Command+Space 搜尋 Terminal.app)
2. 輸入以下指令建立 /Users/runner (執行後輸入密碼)
```bash
sudo mkdir /Users/runner
```
3. 打開 Finder > 前往 > 前往資料夾...
![CleanShot 2024-11-08 at 12.21.20@2x](https://hackmd.io/_uploads/S1RkfMo-1l.png)
4. 在彈出的文字匡輸入 /Users 並按 Enter
![CleanShot 2024-11-08 at 12.22.35@2x](https://hackmd.io/_uploads/ByUfGfs-1x.png)
5. 對 runner 點右鍵 > 取得資訊
![CleanShot 2024-11-08 at 12.25.02@2x](https://hackmd.io/_uploads/HkypMzjZkg.png)
6. 點一下在彈出的視窗最下面的鎖頭
<img src="https://hackmd.io/_uploads/HksemfoZJl.png" width=200 />
7. 接下來會叫你輸密碼或按指紋
8. 驗證完後，點一下旁邊的 + 號
<img src="https://hackmd.io/_uploads/BkePQzsbye.png" width=300 />
9. 選你的使用者名字，按確定
<img src="https://hackmd.io/_uploads/BJdYmzs-kx.png" width=300 />
10. 點一下自己名字旁邊的權限 (應該會寫唯讀)，把它改成 讀取/寫入
<img src="https://hackmd.io/_uploads/H1jnQzi-ke.png" width=300 />
<img src="https://hackmd.io/_uploads/Sy3RXzsZyg.png" width=300 />

這樣子應該就可以解決 runner 在 Mac 上會報錯ㄉ問題囉