권한 거부: 'go run'과 Makefile 호출의 차이점 조사
Makefile을 통해 Go 프로그램을 실행하는 중 권한 거부 오류 발생 당황스러울 수 있습니다. 이 문제는 GNU make 또는 해당 gnulib 구성 요소의 버그로 인해 발생합니다. 근본 원인은 실제 Go 실행 파일이 있는 디렉터리 앞에 있는 시스템 PATH에 "go"라는 디렉터리가 있다는 것입니다.
이것이 근본 원인인지 확인하려면 시스템의 PATH를 검사하고 확인하세요. "go"라는 하위 디렉터리를 포함하는 모든 디렉터리에 대해. 예를 들어 /usr/bin/go/가 존재하고 /usr/bin이 PATH의 일부인 경우 이 문제가 발생할 수 있습니다.
상황을 해결하려면 "go" 하위 디렉터리를 포함하는 모든 디렉터리가 PATH에서 제거되었습니다. 이것이 가능하지 않은 경우 대안으로 GNU make 실행을 위해 쉘 호출을 사용할 수 있습니다. ; Makefile 대상에 문자를 추가하면 충분합니다:
run: go run . ;
위 내용은 Makefile을 통해 Go 프로그램을 실행할 때 \'Permission Denied\' 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!