Permissão negada: investigando a diferença entre 'go run' e chamada de Makefile
Encontrando erros de permissão negada ao executar um programa Go por meio de um Makefile pode ser desconcertante. Este problema decorre de um bug no GNU make ou em seu componente gnulib. A causa raiz está na presença de um diretório chamado "go" no PATH do sistema que precede o diretório onde reside o executável Go real.
Para determinar se esta é a causa subjacente, inspecione o PATH do seu sistema e verifique para quaisquer diretórios que contenham um subdiretório chamado "go". Por exemplo, se /usr/bin/go/ existir e /usr/bin fizer parte do seu PATH, você poderá encontrar esse problema.
Para corrigir a situação, certifique-se de que todos os diretórios contendo subdiretórios "go" sejam removido do seu PATH. Se isso não for viável, você pode alternativamente usar uma invocação de shell para a execução do GNU make. Adicionando o ; caractere para o destino Makefile será suficiente:
run: go run . ;
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