Rumah > Artikel > pembangunan bahagian belakang > Mengapakah \"sudo go menjalankan main.go\" Gagal dengan \"exec: go: fail boleh laku tidak ditemui dalam $PATH\" pada Ubuntu 16.04?
Menyelesaikan masalah "sudo go run main.go" Ralat
Apabila cuba melaksanakan "sudo go run main.go" untuk menangkap paket rangkaian menggunakan "gopacket" pada Ubuntu 16.04, anda mungkin menemui mesej ralat "exec: go: executable file not found in $PATH." Ralat ini timbul kerana pembolehubah persekitaran yang diperlukan tidak ditetapkan untuk pengguna akar.
Penyelesaian:
Daripada menggunakan "sudo go run ...," ikuti ini langkah:
1. Susun Binari tanpa sudo:
Gunakan "go build" untuk menyusun fail main.go ke dalam binari boleh laku. Contohnya:
go build
2. Jalankan Binari dengan sudo:
Laksanakan binari yang disusun dengan sudo. Contohnya:
sudo ./mycapt
Sebagai alternatif:
Gunakan "go install" untuk memasang binari ke dalam sistem anda $GOPATH/bin direktori.
go install
Kemudian jalankan binari dengan sudo daripada direktori $GOPATH/bin:
sudo $GOPATH/bin/mycapt
Dengan menyusun dan menjalankan binari secara berasingan, anda memastikan pembolehubah persekitaran yang diperlukan tersedia kepada pengguna akar.
Atas ialah kandungan terperinci Mengapakah \"sudo go menjalankan main.go\" Gagal dengan \"exec: go: fail boleh laku tidak ditemui dalam $PATH\" pada Ubuntu 16.04?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!