「sudo go run main.go」権限について
「sudo go run main.go」で Go プログラムを実行しようとする場合Ubuntu 16.04 では、実行可能ファイルが $PATH 変数に見つからないことを示すエラーが発生する場合があります。これは、「sudo」コマンドがデフォルトで環境変数をクリアし、「go」バイナリが見つからないために発生します。
問題の解決
これを解決するにはこの問題が発生した場合は、プログラムをコンパイルするときに「sudo」コマンドをバイパスする必要があります。代わりに、「go build」または「go install」を使用して、昇格されたアクセス許可を使用せずにバイナリをビルドします。バイナリがコンパイルされたら、「sudo」を使用して昇格されたアクセス許可で実行できます。
ステップバイステップの手順
を指定せずにバイナリをコンパイルしますsudo:
昇格された権限でバイナリを実行する:
説明
sudo を使用せずに最初にバイナリをビルドすることで、必要な環境が確実に構築されます。 $GOPATH や $GOROOT などの変数が正しく設定されている。 sudo でバイナリを実行すると、環境変数に影響を与えることなく、適切な権限が付与されます。
この方法では、環境変数の整合性を維持しながら、ネットワーク パケットをキャプチャするために必要な権限を効果的に付与します。
以上がUbuntu 16.04 で「sudo go run main.go」が実行可能ファイルを見つけられないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。