Heim > Artikel > Backend-Entwicklung > Warum schlägt „sudo go run main.go“ unter Ubuntu fehl?
Debuggen des Ausführungsfehlers „sudo go run main.go“ unter Ubuntu
Ausführen von „sudo go run main.go“ in einem Ubuntu 16.04 Umgebung führt oft zu dem Fehler „ausführbare Datei nicht in $PATH gefunden“. Dies liegt daran, dass Umgebungsvariablen nicht standardmäßig für den Root-Benutzer beibehalten werden. Um dieses Problem zu beheben, führen Sie die folgenden Schritte aus:
Umgebungszurücksetzung deaktivieren:
1.Bearbeiten Sie die Datei /etc/sudoers.
2. Suchen Sie die Zeile mit der Aufschrift „Defaults env_reset“ und ändern Sie sie in „Defaults !env_reset“.
Diese Methode löst das Problem jedoch möglicherweise nicht.
Richtiger Ansatz:
Der empfohlene Ansatz besteht darin, die Binärdatei ohne Sudo zu erstellen und die Binärdatei mit Sudo auszuführen. Schritte dazu:
1. Navigieren Sie zu dem Verzeichnis, das main.go enthält.
2. Erstellen Sie die Binärdatei mit go build.
3.Führen Sie die Binärdatei mit sudo aus, z. B.:
sudo ./mycapt
Alternativ können Sie go install verwenden und dann die Binärdatei ausführen mit:
sudo $GOPATH/bin/mycapt
Befolgen Sie diese Anweisungen Schritte bleiben Umgebungsvariablen erhalten und Sie können die Go-Binärdatei erfolgreich mit Sudo-Berechtigungen ausführen.
Das obige ist der detaillierte Inhalt vonWarum schlägt „sudo go run main.go“ unter Ubuntu fehl?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!