Heim  >  Artikel  >  Backend-Entwicklung  >  Warum schlägt „sudo go run main.go“ unter Ubuntu fehl?

Warum schlägt „sudo go run main.go“ unter Ubuntu fehl?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-16 11:11:03450Durchsuche

Why Does

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn