Heim > Backend-Entwicklung > Golang > Warum findet „sudo go run main.go' die ausführbare Datei unter Ubuntu 16.04 nicht?

Warum findet „sudo go run main.go' die ausführbare Datei unter Ubuntu 16.04 nicht?

DDD
Freigeben: 2024-11-15 15:58:02
Original
706 Leute haben es durchsucht

Why does

Grundlegende Informationen zu den Berechtigungen für „sudo go run main.go“

Beim Versuch, ein Go-Programm mit „sudo go run main.go“ auszuführen Unter Ubuntu 16.04 kann es zu einer Fehlermeldung kommen, die darauf hinweist, dass die ausführbare Datei nicht in der Variablen $PATH gefunden wird. Dies liegt daran, dass der Befehl „sudo“ standardmäßig Ihre Umgebungsvariablen löscht, was verhindert, dass die „go“-Binärdatei gefunden wird.

Problem lösen

Um dieses Problem zu beheben Um dieses Problem zu lösen, sollten Sie den Befehl „sudo“ beim Kompilieren des Programms umgehen. Erstellen Sie stattdessen die Binärdatei ohne erhöhte Berechtigungen mit „go build“ oder „go install“. Sobald die Binärdatei kompiliert ist, können Sie sie mit erhöhten Berechtigungen mit „sudo“ ausführen.

Schritt-für-Schritt-Anleitung

  1. Navigieren Sie zu dem Verzeichnis, das Folgendes enthält „main.go“.
  2. Kompilieren Sie die Binärdatei ohne sudo:

    • go build
    • oder -
    • go install
  3. Führen Sie die Binärdatei mit erhöhten Berechtigungen aus:

    • sudo ./mycapt
    • oder -
    • sudo $GOPATH /bin/mycapt

Erklärung

Indem Sie zuerst die Binärdatei ohne sudo erstellen, stellen Sie sicher, dass die notwendigen Umgebungsvariablen, wie z $GOPATH und $GOROOT sind korrekt eingestellt. Wenn Sie die Binärdatei mit sudo ausführen, werden die entsprechenden Berechtigungen erteilt, ohne Ihre Umgebungsvariablen zu beeinträchtigen.

Diese Methode gewährt Ihnen effektiv die erforderlichen Berechtigungen zum Erfassen von Netzwerkpaketen und behält gleichzeitig die Integrität Ihrer Umgebungsvariablen bei.

Das obige ist der detaillierte Inhalt vonWarum findet „sudo go run main.go' die ausführbare Datei unter Ubuntu 16.04 nicht?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage