首頁 >後端開發 >Golang >為什麼執行'sudo go run”會導致'找不到可執行檔”錯誤?

為什麼執行'sudo go run”會導致'找不到可執行檔”錯誤?

Patricia Arquette
Patricia Arquette原創
2024-11-18 10:34:02806瀏覽

Why Does Running

使用 Sudo 執行 Go 程式

在 Linux 系統中,通常的做法是使用 sudo 來執行需要提升權限的命令。但是,使用 sudo go run main.go 執行 Go 程式可能會出現「找不到執行檔」的錯誤。

出現此錯誤的原因是沒有正確設定 GOPATH、GOROOT 等環境變數。根用戶。預設情況下,sudo 在執行命令時會重設環境,刪除使用者 shell 設定的任何環境變數。

而不是執行 sudo go run main。 go,建議的方法是先將 Go 程式建置為二進位文件,然後使用 sudo 執行該二進位檔案。這可確保二進位檔案設定正確的環境變數。

以下是實現此目的的方法:

  1. 如果您位於包含main.go 的目錄中,則可以建立二進位檔案使用:
go build
  1. 使用sudo 執行二進製文件:
sudo ./mycapt

或者,您可以使用以下命令將二進製文件安裝到GOPATH bin 目錄:

go install

然後執行它:

sudo $GOPATH/bin/mycapt

按照這種方法,您可以使用sudo 執行Go 程序,同時確保為root 用戶正確設定必要的環境變數.

以上是為什麼執行'sudo go run”會導致'找不到可執行檔”錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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