首頁 > 後端開發 > Golang > 主體

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

Susan Sarandon
發布: 2024-11-17 06:54:03
原創
732 人瀏覽過

Why Does

排除「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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板