Rumah > Artikel > pembangunan bahagian belakang > Mengapa Menjalankan \"sudo go run\" Menghasilkan Ralat \"Executable File Not Found\"?
Melaksanakan Program Go dengan Sudo
Dalam sistem Linux, adalah amalan biasa untuk menggunakan sudo untuk melaksanakan arahan yang memerlukan keistimewaan yang tinggi. Walau bagaimanapun, menjalankan program Go dengan sudo go run main.go boleh mengakibatkan ralat "fail boleh laku tidak ditemui".
Ralat ini berlaku kerana pembolehubah persekitaran, seperti GOPATH dan GOROOT, tidak ditetapkan dengan betul untuk pengguna akar. Secara lalai, sudo menetapkan semula persekitaran apabila ia melaksanakan perintah, mengalih keluar sebarang pembolehubah persekitaran yang ditetapkan oleh shell pengguna.
Penyelesaian
Daripada menjalankan sudo go run main. go, pendekatan yang disyorkan ialah membina program Go menjadi binari dahulu dan kemudian melaksanakan binari dengan sudo. Ini memastikan binari mempunyai set pembolehubah persekitaran yang betul.
Begini cara anda boleh mencapai ini:
go build
sudo ./mycapt
Sebagai alternatif, anda boleh memasang binari pada direktori bin GOPATH anda dengan:
go install
Dan kemudian laksanakannya dengan:
sudo $GOPATH/bin/mycapt
Dengan mengikuti pendekatan ini, anda boleh melaksanakan program Go dengan sudo sambil memastikan pembolehubah persekitaran yang diperlukan ditetapkan dengan betul untuk pengguna root .
Atas ialah kandungan terperinci Mengapa Menjalankan \"sudo go run\" Menghasilkan Ralat \"Executable File Not Found\"?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!