「sudo go run main.go」が「exec: go: $PATH に実行可能ファイルが見つかりません」で失敗するのはなぜですか?

Susan Sarandon
リリース: 2024-11-20 01:51:01
オリジナル
380 人が閲覧しました

Why does

ルートとして Go プログラムを実行するときの「sudo go run main.go」エラーのトラブルシューティング

gopacket を使用してネットワーク パケットをキャプチャしようとすると、コマンド「sudo go」の実行中に、「exec: go: $PATH に実行可能ファイルが見つかりません」というエラーが発生する場合があります。 main.go を実行します。」このエラーは、環境変数が root ユーザー用に構成されていないために発生します。

「sudo go run ...」を使用するアプローチとは反対に、最初に root 権限なしで「go build」または「go build」を使用してバイナリをビルドすることを検討してください。 「インストールしてください。」バイナリが構築されたら、「sudo」で実行します。

たとえば、mycapt という名前のフォルダー内の main.go を使用している場合は、次の手順に従います。

cd mycapt
go build
sudo ./mycapt
ログイン後にコピー

あるいは、以下を使用することもできます。

go install
sudo $GOPATH/bin/mycapt
ログイン後にコピー

バイナリをビルドして sudo で実行すると、 binary には、必要な操作を実行するための適切な権限があります。

以上が「sudo go run main.go」が「exec: go: $PATH に実行可能ファイルが見つかりません」で失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート