"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Makefile이 Go 명령에 대해 권한 거부 오류를 발생시키는 이유는 무엇입니까?

Makefile이 Go 명령에 대해 권한 거부 오류를 발생시키는 이유는 무엇입니까?

2024-11-05에 게시됨
검색:406

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

Go 실행 시 Makefile의 권한 거부 오류

Makefile을 통해 Go 명령을 실행하는 동안 "권한 거부" 오류가 발생할 수 있습니다. 직접 실행할 수 있습니다. 이러한 불일치는 GNU make의 문제로 인해 발생합니다.

원인:

"go. " 예를 들어 PATH에 "/usr/bin/go/"가 있으면 실행을 방해할 수 있습니다.

해결책:

이 문제를 해결하려면 , PATH 변수를 확인하고 "go"라는 하위 디렉터리가 포함된 모든 디렉터리를 제거하세요. 이것이 가능하지 않다면 Makefile에서 "go run" 명령 뒤에 세미콜론(";")을 추가하여 GNU make가 쉘을 사용하도록 강제합니다.

예:

run:
    go run . ;

추가 통찰력:

  • "make with -d/--trace"를 실행하면 GNU make가 "run"을 대상으로 인식하지 않는다는 것을 알 수 있습니다. 해당 이름의 디렉토리나 파일이 존재하지 않기 때문입니다.
  • "run2"의 경우 echo 명령은 GNU make가 이를 대상으로 해석하도록 강제하여 "go run" 명령이 성공적으로 실행되도록 합니다. .
릴리스 선언문 이 글은 1729668177에서 재인쇄되었습니다. 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제하시기 바랍니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3