Erreurs d'autorisation refusée dans Makefile avec Go
Malgré l'exécution réussie de "go run ." directement, les utilisateurs rencontrent des erreurs d'autorisation refusée lorsqu'ils invoquent « make run » pour exécuter la même commande via un Makefile. Cette divergence peut être attribuée à une subtilité au sein de GNU make, comme le révèle la sortie de débogage "make -d".
Le problème survient lorsque GNU tente de localiser l'exécutable go. Si un répertoire nommé "go" existe dans un répertoire spécifié dans la variable d'environnement PATH (précédant le répertoire réel contenant l'exécutable), GNU make ciblera par erreur ce répertoire au lieu de l'exécutable.
Par exemple, si un Le répertoire "/usr/bin/go/" existe et "/usr/bin" se trouve dans le PATH, GNU make rencontrera une erreur d'autorisation refusée lors de la tentative d'exécution de "go run .". Pour résoudre ce problème, assurez-vous que votre PATH ne contient aucun répertoire avec des sous-répertoires "go".
Si la suppression des répertoires problématiques du PATH n'est pas possible, vous pouvez demander à GNU make d'invoquer un shell en ajoutant un point-virgule ";" à la définition de la cible Makefile. Cela garantit que l'exécutable go est correctement résolu, résolvant ainsi les erreurs d'autorisation refusée.
run: go run . ;
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!