# GitHub Self Hosted Runner 安裝/障礙排解指北 進到自己的專案 Repo 下後,點擊 Settings  依序點擊 Actions -> Runners <img src="https://hackmd.io/_uploads/ByJnAZsZ1l.png" width=350/> 接著點右上角的 New self-hosted runner  接著會來到這個頁面,請依照自己的電腦環境選擇適合的安裝方式 - 大部分筆電 - Windows - x64 - Mac 系列 - 若為 Intel 晶片 (2020 前機種) - Architecture 選 x64 - 若為 M 系列晶片 (M1/M2/M3/M4/M5 and later) - Architecture 選 arm64  接著就安照下面的教學一步一步執行即可,不過請注意以下事項: - Windows - 請全程用 Powershell 完成安裝指令 - 請在 C 槽根目錄 (即 C:\) 下執行安裝指令 - 執行前請參考下方步驟,不然 **可能** 會在 run task 的時候遇到錯誤 - Mac - 執行前請參考下方步驟,不然會在 run task 的時候遇到錯誤 ## Windows 執行權限問題 因 Runner 執行時會嘗試執行 .ps1 的檔案 (PowerShell 可執行 Script),預設情況下 Windows 並不會允許 .ps1 檔案的執行,並在執行時遇到如下截圖。  以下是修復方法: 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 直接裂開,出現下面這種神秘的錯誤  可以嘗試再次執行 Python 安裝檔案,然後點擊 "Repair" 修復安裝應就能解決問題 ## Mac 執行權限問題 因 Runner 執行時會在 /Users/runner 下放置緩存,但預設使用者是沒有這個權限在 /Users 下建立資料夾,以下是修復方法 1. 打開電腦終端機 (可以 Command+Space 搜尋 Terminal.app) 2. 輸入以下指令建立 /Users/runner (執行後輸入密碼) ```bash sudo mkdir /Users/runner ``` 3. 打開 Finder > 前往 > 前往資料夾...  4. 在彈出的文字匡輸入 /Users 並按 Enter  5. 對 runner 點右鍵 > 取得資訊  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 上會報錯ㄉ問題囉
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up