新しい 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
インストールが失敗し、かなり不可解なエラー メッセージが表示されることがあります。