Menyelesaikan masalah "sudo go run main.go" Ralat semasa Menjalankan Program Go sebagai Root
Apabila cuba menangkap paket rangkaian menggunakan gopacket, anda mungkin menghadapi ralat yang menyatakan "exec: go: executable file not found in $PATH" semasa menjalankan arahan "sudo go run main.go." Ralat ini berlaku kerana pembolehubah persekitaran anda tidak dikonfigurasikan untuk pengguna root.
Bertentangan dengan pendekatan menggunakan "sudo go run ...," pertimbangkan untuk membina binari terlebih dahulu tanpa keistimewaan root menggunakan "go build" atau "pergi pasang." Setelah binari dibina, laksanakannya dengan "sudo."
Sebagai contoh, jika anda bekerja dengan main.go dalam folder bernama mycapt, ikut langkah ini:
cd mycapt go build sudo ./mycapt
Sebagai alternatif, anda boleh menggunakan:
go install sudo $GOPATH/bin/mycapt
Dengan membina binari dan kemudian menjalankannya dengan sudo, anda memastikan binari mempunyai kebenaran yang sesuai untuk melaksanakan operasi yang diperlukan.
Atas ialah kandungan terperinci Mengapakah \'sudo go menjalankan main.go\' gagal dengan \'exec: go: fail boleh laku tidak ditemui dalam $PATH\'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!