На EC2: команда узла sudo не найдена, но узел без sudo исправен - PullRequest
115 голосов
/ 12 февраля 2011

Я только что установил nodejs на новый микроэкземпляр EC2.

Я установил его нормально, ./configure -> make -> sudo make install.

Проблема: Когда я запускаю «узел» под ec2-пользователем, он работает отлично. Когда я запускаю «узел sudo», он выходит из строя.

Я обнаружил, что узел находится в:

[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, включив в него пути к узлу, поэтому «узел» запускается, когда я вошел в систему как root - но он все равно не будет работать, когда я войду в систему как пользователь ec2 и запустлю » узел sudo ".

Мне нужно это, чтобы установить npm Properfly. Любая идея о том, как включить путь к узлу при запуске "узла sudo"?

Ответы [ 11 ]

0 голосов
/ 22 марта 2011

Не знаю, правильный ли это путь, но это то, что я сделал ...

sudo su
export PATH=$PATH:/home/ec2-user/local/node/bin
curl http://npmjs.org/install.sh | sh
chown -R ec2-user /home/ec2-user/local/node
exit

Это установленный npm, и теперь я могу устанавливать любые пакеты, которые захочу.

...