Bashでパスを正しく設定した後、コマンドが見つかりません。

Bashでパスを正しく設定した後、コマンドが見つかりません。

以前のようにパスを正しく設定しましたが、コマンドが見つからないというエラーが発生します。

$echo $PATH
/usr/local/bin/node

したがって、毎回フルパスを使用してノードを実行する必要があり、sudoなしで実行すると常に「許可拒否」エラーが発生します。

$sudo /usr/local/bin/node ***

何が問題なのかご存知ですか?

答え1

$PATHからに/usr/local/bin/nodeしてください/usr/local/bin

この$PATH変数は、実行可能ファイルを含むディレクトリの名前を保存するために使用されます。いいえ実行可能ファイルの保存に使用されるすべての名前以内にそのディレクトリ。このfileコマンドは違いを示しています。

file /usr/local/bin /usr/local/bin/node

問題sudoは、現在のユーザーに実行権限がないことを意味する可能性がありますnode。権限と所有権を確認してください。

stat --printf="%a %G:%U\n" /usr/local/bin/node

次のように話す必要があります。

777  root:root

そうではないと仮定しますが、常に機能し、正しい権限と所有権を持つ他のfooファイルがその中にあります。次の権限と所有権をusr/local/bin/付与します。nodefoo

sudo chown --reference=/usr/local/bin/foo /usr/local/bin/node
sudo chmod --reference=/usr/local/bin/foo /usr/local/bin/node

関連情報