Maison > développement back-end > Golang > Pourquoi \'sudo go run main.go\' ne parvient-il pas à trouver l'exécutable sur Ubuntu 16.04 ?

Pourquoi \'sudo go run main.go\' ne parvient-il pas à trouver l'exécutable sur Ubuntu 16.04 ?

DDD
Libérer: 2024-11-15 15:58:02
original
707 Les gens l'ont consulté

Why does

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

  1. Naviguez jusqu'au répertoire contenant "main.go".
  2. Compilez le binaire sans sudo :

    • go build
    • ou -
    • go install
  3. Exécuter le binaire avec des autorisations élevées :

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

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal