Sudo を使用した Go プログラムの実行
Linux システムでは、昇格された特権を必要とするコマンドを実行するために sudo を使用するのが一般的です。ただし、sudo go run main.go を使用して Go プログラムを実行すると、「実行可能ファイルが見つかりません」エラーが発生する場合があります。
このエラーは、GOPATH や GOROOT などの環境変数が正しく設定されていないために発生します。ルートユーザー。デフォルトでは、sudo はコマンドの実行時に環境をリセットし、ユーザーのシェルによって設定された環境変数を削除します。
解決策
sudo を実行する代わりに、main を実行します。 go の場合、推奨されるアプローチは、まず Go プログラムをバイナリにビルドしてから、そのバイナリを sudo で実行することです。これにより、バイナリに正しい環境変数が設定されることが保証されます。
これを実現する方法は次のとおりです。
go build
sudo ./mycapt
または、次のようにしてバイナリを GOPATH bin ディレクトリにインストールできます。
go install
そして次のコマンドで実行します:
sudo $GOPATH/bin/mycapt
このアプローチに従うと、root ユーザーに必要な環境変数が正しく設定されていることを確認しながら、sudo で Go プログラムを実行できます。 .
以上が「sudo go run」を実行すると「実行可能ファイルが見つかりません」エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。