首頁  >  文章  >  後端開發  >  為什麼涉及「go run」的 Makefile 指令會導致權限被拒絕錯誤?

為什麼涉及「go run」的 Makefile 指令會導致權限被拒絕錯誤?

Susan Sarandon
Susan Sarandon原創
2024-10-23 17:01:02234瀏覽

Why Do Makefile Commands Involving

Go 的 Makefile 中出現權限被拒絕錯誤

儘管成功運行了「go run」。直接地,使用者在呼叫「make run」透過 Makefile 執行相同的指令時會遇到權限被拒絕的錯誤。這種差異可以歸因於 GNU make 中的一個微妙之處,正如“make -d”調試輸出所揭示的那樣。

當 GNU make 嘗試定位 go 執行檔時,就會出現問題。如果 PATH 環境變數中指定的目錄(位於包含可執行檔的實際目錄之前)中存在名為「go」的目錄,GNU make 將錯誤地定位該目錄而不是可執行檔。

例如,如果目錄「/usr/bin/go/」存在且「/usr/bin」在PATH 中,GNU make 在嘗試執行「go run .」時會遇到權限被拒絕的錯誤。要解決此問題,請確保您的 PATH 不包含任何帶有“go”子目錄的目錄。

如果從 PATH 中刪除有問題的目錄不可行,您可以透過新增分號「;」到 Makefile 目標定義。這可確保正確解析 go 可執行文件,從而解決權限被拒絕的錯誤。

run:
    go run . ;

以上是為什麼涉及「go run」的 Makefile 指令會導致權限被拒絕錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn