「sudo go run main.go」エラーのトラブルシューティング
ネットワーク パケットをキャプチャするために「sudo go run main.go」を実行しようとしたときUbuntu 16.04 で「gopacket」を使用すると、「exec: go: executable file not」というエラー メッセージが表示される場合があります。 $PATH で見つかりました。」このエラーは、必要な環境変数が root ユーザーに設定されていないために発生します。
解決策:
「sudo go run ...」を使用する代わりに、次の手順に従ってください。手順:
1. sudo を使用せずにバイナリをコンパイルします。
「go build」を使用して、main.go ファイルを実行可能バイナリにコンパイルします。例:
go build
2. sudo でバイナリを実行します:
コンパイルされたバイナリを sudo で実行します。例:
sudo ./mycapt
または:
「go install」を使用して、バイナリをシステムにインストールします。 $GOPATH/ビン
go install
次に、$GOPATH/bin ディレクトリから sudo を使用してバイナリを実行します。
sudo $GOPATH/bin/mycapt
コンパイルして実行します。バイナリを個別に作成すると、root ユーザーが必要な環境変数を使用できるようになります。
以上がUbuntu 16.04 で「sudo go run main.go」が「exec: go: $PATH に実行可能ファイルが見つかりません」で失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。