„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Warum gibt Makefile für Go-Befehle einen Fehler „Berechtigung verweigert“ aus?

Warum gibt Makefile für Go-Befehle einen Fehler „Berechtigung verweigert“ aus?

Veröffentlicht am 05.11.2024
Durchsuche:782

Why Does Makefile Throw a Permission Denied Error for Go Commands?

Fehler „Berechtigung verweigert“ im Makefile beim Ausführen von Go

Beim Ausführen von Go-Befehlen über ein Makefile können Fehler „Berechtigung verweigert“ auftreten, selbst wenn Sie können sie direkt ausführen. Diese Diskrepanz entsteht durch ein Problem in GNU make.

Ursache:

Der Fehler tritt auf, wenn Sie ein Verzeichnis in Ihrem PATH haben, das ein Unterverzeichnis mit dem Namen „go“ enthält. " Wenn Sie beispielsweise „/usr/bin/go/“ in Ihrem PATH haben, könnte dies die Ausführung beeinträchtigen.

Lösung:

Um dieses Problem zu beheben , überprüfen Sie Ihre PATH-Variable und entfernen Sie alle Verzeichnisse, die Unterverzeichnisse mit dem Namen „go“ enthalten. Wenn das nicht möglich ist, fügen Sie nach dem Befehl „go run“ in Ihrem Makefile ein Semikolon („;“) ein, um zu erzwingen, dass GNU make eine Shell verwendet.

Beispiel:

run:
    go run . ;

Zusätzliche Erkenntnisse:

  • Das Ausführen von „make mit -d/--trace“ zeigt, dass GNU make „run“ nicht als Ziel erkennt aufgrund eines nicht vorhandenen Verzeichnisses oder einer nicht vorhandenen Datei mit diesem Namen.
  • Im Fall von „run2“ zwingt der echo-Befehl GNU make dazu, es als Ziel zu interpretieren, sodass der Befehl „go run“ erfolgreich ausgeführt werden kann .
Freigabeerklärung Dieser Artikel wird unter folgender Adresse abgedruckt: 1729668177 Bei Verstößen wenden Sie sich bitte an [email protected], um ihn zu löschen
Neuestes Tutorial Mehr>

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