「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Makefile を通じて Go プログラムを実行すると「アクセス許可が拒否されました」エラーが発生するのはなぜですか?

Makefile を通じて Go プログラムを実行すると「アクセス許可が拒否されました」エラーが発生するのはなぜですか?

2024 年 11 月 15 日に公開
ブラウズ:527

Why Am I Getting \

権限が拒否されました: 「go run」と Makefile 呼び出しの違いを調査する

Makefile を介して Go プログラムを実行中に権限拒否エラーが発生しました困惑するかもしれません。この問題は、GNU make またはその gnulib コンポーネントのバグに起因します。根本原因は、実際の G​​o 実行可能ファイルが存在するディレクトリの前にある、システムの PATH 内に「go」という名前のディレクトリが存在することにあります。

これが根本的な原因であるかどうかを判断するには、システムの PATH を調べて確認してください。 「go」という名前のサブディレクトリを含むディレクトリの場合。たとえば、/usr/bin/go/ が存在し、/usr/bin が PATH の一部である場合、この問題が発生する可能性があります。

この状況を修正するには、「go」サブディレクトリを含むすべてのディレクトリがPATH から削除されました。これが不可能な場合は、GNU make の実行にシェル呼び出しを使用することもできます。 ; を追加するMakefile ターゲットに文字を追加するだけで十分です:

run:
        go run . ;
リリースステートメント この記事は次の場所に転載されています: 1729668363 侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3