Berechtigung verweigert: Untersuchung des Unterschieds zwischen „go run“ und Makefile-Aufrufen
Beim Ausführen eines Go-Programms über ein Makefile sind Fehler aufgetreten, bei denen die Berechtigung verweigert wurde kann verwirrend sein. Dieses Problem ist auf einen Fehler in GNU make oder seiner Gnulib-Komponente zurückzuführen. Die Hauptursache liegt im Vorhandensein eines Verzeichnisses namens „go“ im PATH des Systems, das dem Verzeichnis vorangeht, in dem sich die eigentliche ausführbare Go-Datei befindet.
Um festzustellen, ob dies die zugrunde liegende Ursache ist, überprüfen Sie den PATH Ihres Systems für alle Verzeichnisse, die ein Unterverzeichnis mit dem Namen „go“ enthalten. Wenn beispielsweise /usr/bin/go/ vorhanden ist und /usr/bin Teil Ihres PATH ist, kann dieses Problem auftreten.
Um das Problem zu beheben, stellen Sie sicher, dass alle Verzeichnisse, die „go“-Unterverzeichnisse enthalten, vorhanden sind aus Ihrem PATH entfernt. Wenn dies nicht möglich ist, können Sie alternativ einen Shell-Aufruf für die Ausführung von GNU make verwenden. Hinzufügen des ; Zeichen zum Makefile-Ziel reicht aus:
run: go run . ;
Das obige ist der detaillierte Inhalt vonWarum erhalte ich die Fehlermeldung „Berechtigung verweigert', wenn ich Go-Programme über ein Makefile ausführe?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!