Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mengapakah Perintah Makefile yang Melibatkan \"go run\" Mengakibatkan Ralat Ditolak Kebenaran?

Mengapakah Perintah Makefile yang Melibatkan \"go run\" Mengakibatkan Ralat Ditolak Kebenaran?

Susan Sarandon
Susan Sarandonasal
2024-10-23 17:01:02234semak imbas

Why Do Makefile Commands Involving

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn