ホームページ >バックエンド開発 >Golang >Ubuntu で「sudo go run main.go」が失敗するのはなぜですか?

Ubuntu で「sudo go run main.go」が失敗するのはなぜですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-16 11:11:03534ブラウズ

Why Does

Ubuntu での「sudo go run main.go」実行エラーのデバッグ

Ubuntu 16.04 での「sudo go run main.go」の実行環境によっては、「$PATH に実行可能ファイルが見つかりません」というエラーが発生することがよくあります。これは、デフォルトでは root ユーザーに対して環境変数が保存されないことが原因です。この問題に対処するには、以下の手順に従います。

環境のリセットを無効にする:

1. ファイル /etc/sudoers.
2. 「Defaults env_reset」という行を見つけて、次のように変更します。 "Defaults !env_reset".

ただし、この方法では問題が解決しない可能性があります。

正しいアプローチ:

推奨されるアプローチは、 sudo を使用せずにバイナリを作成し、sudo を使用してバイナリを実行します。その手順:

1. main.go を含むディレクトリに移動します。
2. go build を使用してバイナリをビルドします。
3. sudo を使用してバイナリを実行します。例:

sudo ./mycapt
または、 go install を使用してから、次のようにバイナリを実行することもできます:

sudo $GOPATH/bin/mycapt
これらの手順に従うと、環境変数が保存され、次のことが可能になります。 sudo 権限を使用して Go バイナリを正常に実行します。

以上がUbuntu で「sudo go run main.go」が失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。