EC2 の場合: sudo ノード コマンドが見つかりませんが、sudo のないノードは問題ありません。質問する

EC2 の場合: sudo ノード コマンドが見つかりませんが、sudo のないノードは問題ありません。質問する

新しい EC2 マイクロインスタンスに nodejs をインストールしました。

通常通り、./configure -> make -> sudo make install でインストールしました。

問題:ec2-user で「node」を実行すると、正常に実行されます。「sudo node」を実行すると失敗します。

ノードは次の場所にあることがわかりました:

[ec2-user@XXXX ~]$ whereis node
node: /usr/local/bin/node /usr/local/lib/node

そして現在のパスは

[ec2-user@XXXX ~]$ echo $PATH
/usr/local/bin:/bin:/usr/bin:/opt/aws/bin:/home/ec2-user/bin

しかし、sudoパスは

[root@ip-10-112-222-32 ~]# echo $PATH
/usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/aws/bin:/root/bin

次に、ルート PATH を編集してノードへのパスを含めようとしました。そのため、ルートとしてログインすると「node」が実行されますが、ec2-user としてログインして「sudo node」を実行してもまだ機能しません。

npm を適切にインストールするにはこれが必要です。「sudo node」を実行するときにノード パスを含める方法をご存知ですか?

ベストアンサー1

はい、少し面倒ですが、いくつかのリンクで修正できます:

sudo ln -s /usr/local/bin/node /usr/bin/node
sudo ln -s /usr/local/lib/node /usr/lib/node
sudo ln -s /usr/local/bin/npm /usr/bin/npm
sudo ln -s /usr/local/bin/node-waf /usr/bin/node-waf

他にもあるかもしれませんが、私がこれまでに遭遇したのはこれだけです。node-waf がないと、npmインストールが失敗し、かなり不可解なエラー メッセージが表示されることがあります。

おすすめ記事