以前のようにパスを正しく設定しましたが、コマンドが見つからないというエラーが発生します。
$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/
付与します。node
foo
sudo chown --reference=/usr/local/bin/foo /usr/local/bin/node
sudo chmod --reference=/usr/local/bin/foo /usr/local/bin/node