"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Por que o Makefile lança um erro de permissão negada para comandos Go?

Por que o Makefile lança um erro de permissão negada para comandos Go?

Publicado em 2024-11-05
Navegar:907

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

Erro de permissão negada no Makefile ao executar Go

Você pode encontrar erros de "permissão negada" ao executar comandos Go por meio de um Makefile, mesmo quando você pode executá-los diretamente. Essa discrepância surge devido a um problema no GNU make.

Causa:

O erro ocorre quando você tem um diretório em seu PATH que contém um subdiretório chamado "go. " Por exemplo, se você tiver "/usr/bin/go/" em seu PATH, isso pode interferir na execução.

Solução:

Para resolver esse problema , verifique sua variável PATH e remova todos os diretórios que contenham subdiretórios chamados "go". Se isso não for viável, adicione um ponto e vírgula (";") após o comando "go run" em seu Makefile para forçar o GNU make a usar um shell.

Exemplo:

run:
    go run . ;

Insights adicionais:

  • Executar "make with -d/--trace" mostra que o GNU make não reconhece "run" como um alvo devido a um diretório ou arquivo inexistente com esse nome.
  • No caso de "run2", o comando echo força o GNU make a interpretá-lo como um alvo, permitindo que o comando "go run" seja executado com sucesso .
Declaração de lançamento Este artigo foi reimpresso em: 1729668177 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3