了解「sudo go run main.go」權限
嘗試使用「sudo go run main.go」執行Go 程式時在Ubuntu 16.04 上,您可能會遇到錯誤,指示在$PATH 變數中找不到執行檔。出現這種情況是因為“sudo”命令預設會清除環境變量,從而阻止找到“go”二進位。
解決問題
要解決此問題問題,您應該在編譯程式時繞過「sudo」指令。相反,使用“go build”或“go install”在沒有提升權限的情況下建立二進位。編譯二進位檔案後,您可以使用“sudo”以提升的權限執行它。
逐步說明
編譯二進位檔案而不使用sudo:
說明
透過先在不使用sudo 的情況下建立二進位檔案,您可以確保必要的環境變量,例如$GOPATH 和$GOROOT 設定正確。當您使用 sudo 執行二進位檔案時,會授予適當的權限,而不會幹擾您的環境變數。 此方法有效地授予您擷取網路封包所需的權限,同時保持環境變數的完整性。以上是為什麼「sudo go run main.go」在 Ubuntu 16.04 上找不到執行檔?的詳細內容。更多資訊請關注PHP中文網其他相關文章!