"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Por qué Makefile arroja un error de permiso denegado para los comandos Go?

¿Por qué Makefile arroja un error de permiso denegado para los comandos Go?

Publicado el 2024-11-05
Navegar:925

Why Does Makefile Throw a Permission Denied Error for Go Commands?

Error de permiso denegado en Makefile al ejecutar Go

Puede encontrar errores de "permiso denegado" al ejecutar comandos de Go a través de un Makefile, incluso cuando puedes ejecutarlos directamente. Esta discrepancia surge debido a un problema en GNU make.

Causa:

El error ocurre cuando tienes un directorio en tu RUTA que contiene un subdirectorio llamado "go. " Por ejemplo, si tiene "/usr/bin/go/" en su RUTA, podría interferir con la ejecución.

Solución:

Para solucionar este problema , verifique su variable PATH y elimine cualquier directorio que contenga subdirectorios llamados "go". Si eso no es factible, agregue un punto y coma (";") después del comando "ir a ejecutar" en su Makefile para forzar a GNU make a usar un shell.

Ejemplo:

run:
    go run . ;

Información adicional:

  • Ejecutar "make with -d/--trace" muestra que GNU make no reconoce "run" como objetivo debido a un directorio o archivo inexistente con ese nombre.
  • En el caso de "run2", el comando echo obliga a GNU make a interpretarlo como un objetivo, permitiendo que el comando "go run" se ejecute correctamente .
Declaración de liberación Este artículo se reimprime en: 1729668177 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3