Я успешно настроен РВМ, чтобы использовать Ruby 1.9.2 и все нормально. Однако, когда я'м пытаясь запустить Ruby, используя судо
он говорит, что не может найти РВМ или Ruby:
$ ruby -v
ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-linux]
$ sudo ruby -v
[sudo] password for administrator:
sudo: ruby: command not found
Это правильное поведение или моя РВМ неправильно? Возможно, я должен использовать широкая система установки?
Принимая @Калас' ответ на один шаг дальше, добавьте это в ваш~/.bashrc следующее`:
alias sudo=rvmsudo
Это позволяет избежать потребности того, чтобы помнить, чтобы изменить судо
в rvmsudo
для каждой команды (особенно раздражает копирования и вставки команд).
Судо сбрасывает вашем пути. РВМ работает путем изменения переменной окружения PATH, так что Руби вы'повторно через определенный один, наверное, в вашем ~/.каталог РВМ/рубины. Когда вы Руби руби с sudo, sudo не используя, который изменил путь, и поэтому он не найдет свой РВМ Руби. См. Этот вопрос для решения: https://stackoverflow.com/questions/257616/sudo-changes-path-why
@Калас'ответом является ответ. но если вы можете'т достичь своей цели с помощью rvmsudo, например, установить nginx в помощью команды
обеспечение-установка-сервера nginx-модуль, пожалуйста, просто меняют собственника, связанные папку/путь. например
$ chown <your_username>:<your_group> /opt -R
$ passenger-install-nginx-module