排除「sudo go run main.go」錯誤
嘗試執行「sudo go run main.go」擷取網路封包時在Ubuntu 16.04 上使用“gopacket”,您可能會遇到錯誤訊息“exec:go:$PATH 中找不到可執行檔”。出現此錯誤的原因是沒有為 root 使用者設定必要的環境變數。
解決方案:
不要使用“sudo go run ...”,而是按照以下步驟操作步驟:
1 .不使用sudo 編譯二進位檔案:
使用「go build」將main.go 檔案編譯為可執行二進位檔案。例如:
go build
2.使用sudo 執行二進位檔案:
使用sudo 執行後的二進位文件。例如:
sudo ./mycapt
或:
使用「go install」將二進位檔案安裝到您的系統中$GOPATH/bin 目錄。
go install
然後使用sudo 從$GOPATH/bin 目錄運行二進位檔案:
sudo $GOPATH/bin/mycapt
透過單獨編譯和執行二進位檔案,您可以確保root 使用者可以使用必要的環境變數。
以上是為什麼在 Ubuntu 16.04 上「sudo go run main.go」會失敗並顯示「exec: go:在 $PATH 中找不到可執行檔」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!