Kebenaran Ditolak Ralat dalam Makefile dengan Go
Walaupun berjaya menjalankan "go run ." secara langsung, pengguna menghadapi ralat yang ditolak kebenaran apabila menggunakan "make run" untuk melaksanakan arahan yang sama melalui Makefile. Percanggahan ini boleh dikaitkan dengan kehalusan dalam GNU make, seperti yang didedahkan oleh output penyahpepijatan "make -d".
Masalah timbul apabila GNU membuat percubaan untuk mencari go boleh laku. Jika direktori bernama "go" wujud dalam direktori yang ditentukan dalam pembolehubah persekitaran PATH (sebelum direktori sebenar yang mengandungi executable), GNU make akan tersilap menyasarkan direktori ini dan bukannya executable.
Sebagai contoh, jika a direktori "/usr/bin/go/" wujud dan "/usr/bin" berada dalam PATH, GNU make akan menghadapi ralat yang ditolak kebenaran apabila cuba melaksanakan "go run .". Untuk menyelesaikan isu ini, pastikan PATH anda tidak mengandungi sebarang direktori dengan subdirektori "go".
Jika mengalih keluar direktori yang bermasalah daripada PATH tidak dapat dilaksanakan, anda boleh mengarahkan GNU make untuk memanggil shell dengan menambah koma bertitik ";" kepada definisi sasaran Makefile. Ini memastikan bahawa go executable diselesaikan dengan betul, menyelesaikan ralat kebenaran yang ditolak.
run: go run . ;
Atas ialah kandungan terperinci Mengapakah Perintah Makefile yang Melibatkan 'go run' Mengakibatkan Ralat Ditolak Kebenaran?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!