首頁 >後端開發 >Golang >為什麼「sudo go run main.go」在 Ubuntu 上失敗?

為什麼「sudo go run main.go」在 Ubuntu 上失敗?

Patricia Arquette
Patricia Arquette原創
2024-11-16 11:11:03533瀏覽

Why Does

在Ubuntu 上除錯「sudo go run main.go」執行錯誤

在Ubuntu 16.04 中執行「sudo go run

在Ubuntu 16.04 中執行「sudogo runrun. ”環境通常會導致錯誤“在$PATH 中找不到可執行檔”。這是因為預設情況下不為 root 使用者保留環境變數。要解決此問題,請按照以下步驟操作:

停用環境重設:

1.
編輯檔案 /etc/sudoers。 2.

找到「Defaults env_reset」行並將其變更為"Defaults !env_reset"。

但是,此方法可能無法解決問題。

正確方法:

建議的方法是建立不使用 sudo 的二進位檔案並使用 sudo 執行該二進位檔案。步驟:

1.
導覽至包含 main.go 的目錄。 2.
使用 go build 建立二進位檔案。 3.

使用sudo 執行二進位文件,例如:
sudo ./mycapt

或者,您可以使用go install,然後使用下列指令執行二進位檔案:
sudo $GOPATH/bin/mycapt

透過執行這些步驟,環境變數將被保留,您將能夠使用sudo 權限成功執行Go 二進位。

以上是為什麼「sudo go run main.go」在 Ubuntu 上失敗?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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