Ubuntu 16.04에서 \'sudo go run main.go\'가 \'exec: go: $PATH\에서 실행 파일을 찾을 수 없음'과 함께 실패하는 이유는 무엇입니까?

Susan Sarandon
풀어 주다: 2024-11-17 06:54:03
원래의
726명이 탐색했습니다.

Why Does

"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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿