Maison > Article > développement back-end > Pourquoi \"sudo go run main.go\" ne parvient-il pas à trouver l'exécutable sur Ubuntu 16.04 ?
Comprendre les autorisations « sudo go run main.go »
Lors de la tentative d'exécution d'un programme Go avec « sudo go run main.go » sur Ubuntu 16.04, vous pouvez rencontrer une erreur indiquant que le fichier exécutable est introuvable dans la variable $PATH. Cela se produit car la commande "sudo" efface vos variables d'environnement par défaut, ce qui empêche la recherche du binaire "go".
Résoudre le problème
Pour résoudre ce problème problème, vous devez contourner la commande "sudo" lors de la compilation du programme. Au lieu de cela, créez le binaire sans autorisations élevées en utilisant « go build » ou « go install ». Une fois le binaire compilé, vous pouvez l'exécuter avec des autorisations élevées en utilisant "sudo".
Instructions étape par étape
Compilez le binaire sans sudo :
Exécuter le binaire avec des autorisations élevées :
Explication
En construisant d'abord le binaire sans sudo, vous vous assurez que les variables d'environnement nécessaires, telles que $GOPATH et $GOROOT sont correctement définis. Lorsque vous exécutez le binaire avec sudo, les autorisations appropriées sont accordées sans interférer avec vos variables d'environnement.
Cette méthode vous accorde efficacement les autorisations nécessaires pour capturer les paquets réseau tout en préservant l'intégrité de vos variables d'environnement.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!