首頁  >  文章  >  後端開發  >  為什麼'sudo go run main.go”會失敗並顯示'exec:go:在$ PATH中找不到可執行檔”?

為什麼'sudo go run main.go”會失敗並顯示'exec:go:在$ PATH中找不到可執行檔”?

Susan Sarandon
Susan Sarandon原創
2024-11-20 01:51:01382瀏覽

Why does

以root 身分執行Go 程式時排除「sudo go run main.go」錯誤

嘗試使用gopacket 擷取網路封包時,您執行指令「sudo go run main.go」時可能會遇到錯誤,指出「exec:go:在$PATH中找不到可執行檔」。出現此錯誤的原因是您的環境變數沒有為 root 使用者配置。

與使用「sudo go run ...」的方法相反,請考慮先使用「go build」在沒有root 權限的情況下建立二進位文件,或「去安裝吧。」建置二進位檔案後,使用“sudo”執行它。

例如,如果您在名為mycapt 的資料夾中使用main.go,請按照以下步驟操作:

cd mycapt
go build
sudo ./mycapt

或者,您可以使用:

go install
sudo $GOPATH/bin/mycapt

透過建置二進位檔案然後使用sudo 來執行它,您可以確保二進位檔案具有執行必要操作的適當權限。

以上是為什麼'sudo go run main.go”會失敗並顯示'exec:go:在$ PATH中找不到可執行檔”?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn