Berechtigung verweigert: Untersuchung des Unterschieds zwischen „go run“ und Makefile-Aufrufen
Beim Ausführen eines Go-Programms über ein Makefile sind Fehler wegen verweigerter Berechtigung aufgetreten 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 mit dem Namen „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 . ;
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3