権限が拒否されました: 「go run」と Makefile 呼び出しの違いを調査する
Makefile を介して Go プログラムを実行中に権限拒否エラーが発生しました困惑するかもしれません。この問題は、GNU make またはその gnulib コンポーネントのバグに起因します。根本原因は、実際の Go 実行可能ファイルが存在するディレクトリの前にある、システムの PATH 内に「go」という名前のディレクトリが存在することにあります。
これが根本的な原因であるかどうかを判断するには、システムの PATH を調べて確認してください。 「go」という名前のサブディレクトリを含むディレクトリの場合。たとえば、/usr/bin/go/ が存在し、/usr/bin が PATH の一部である場合、この問題が発生する可能性があります。
この状況を修正するには、「go」サブディレクトリを含むすべてのディレクトリがPATH から削除されました。これが不可能な場合は、GNU make の実行にシェル呼び出しを使用することもできます。 ; を追加するMakefile ターゲットに文字を追加するだけで十分です:
run: go run . ;
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3