Maison > développement back-end > Golang > Pourquoi les commandes Makefile impliquant « go run » entraînent-elles des erreurs d'autorisation refusée ?

Pourquoi les commandes Makefile impliquant « go run » entraînent-elles des erreurs d'autorisation refusée ?

Susan Sarandon
Libérer: 2024-10-23 17:01:02
original
321 Les gens l'ont consulté

Why Do Makefile Commands Involving

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 . ;
Copier après la connexion

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
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal