"sudo go run main.go" 오류 문제 해결
네트워크 패킷을 캡처하기 위해 "sudo go run main.go"를 실행하려고 할 때 Ubuntu 16.04에서 "gopacket"을 사용하면 "exec: go: $PATH에서 실행 파일을 찾을 수 없습니다."라는 오류 메시지가 나타날 수 있습니다. 이 오류는 루트 사용자에 대해 필요한 환경 변수가 설정되지 않았기 때문에 발생합니다.
해결책:
"sudo go run ..."을 사용하는 대신 다음을 따르세요. 단계:
1. sudo 없이 바이너리를 컴파일합니다.
main.go 파일을 실행 가능한 바이너리로 컴파일하려면 "go build"를 사용하세요. 예:
go build
2. sudo를 사용하여 바이너리 실행:
sudo를 사용하여 컴파일된 바이너리를 실행합니다. 예를 들어:
sudo ./mycapt
또는:
"go install"을 사용하여 시스템에 바이너리를 설치합니다. $GOPATH/빈
go install
그런 다음 $GOPATH/bin 디렉토리에서 sudo를 사용하여 바이너리를 실행합니다.
sudo $GOPATH/bin/mycapt
컴파일 및 실행 바이너리를 별도로 생성하여 루트 사용자가 필요한 환경 변수를 사용할 수 있는지 확인하세요.
위 내용은 Ubuntu 16.04에서 \'sudo go run main.go\'가 \'exec: go: $PATH\에서 실행 파일을 찾을 수 없음'과 함께 실패하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!