Зачем нужен рвмсудо для установки пассажира

Я просмотрел, но не смог найти, почему rvmsudo необходим для установки пассажиров.

Я устанавливаю пассажира с nginx на моем сервере, и я использую RVM. В соответствии с руководством пользователя пассажира мне нужно использовать rvmsudo установить пассажирский, если у меня установлен рвм.

Какая разница между использованием rvmsudo и без использования rvmsudo, Нужно ли использовать rvmsudo для общесистемной установки, несмотря на то, что rvm установлен только локально? (просто используйте gem install passenger)

Благодарю вас!

1 ответ

Решение

sudo предоставляет полномочия root для текущего пользователя для выполнения определенного действия (если пользователю разрешено использовать sudo). Тем не менее, при установке пассажира вам нужно разрешение root для установки файлов в нужных местах.

Одна простая вещь, которая сразу приходит на ум:

sudo rvm passenger-install-nginx-module

Это не сработает! Вот объяснение:

Однако это не сработает вообще. sudo начнется новый подоболочек. Среда этой новой подоболочки будет совершенно другой и не будет содержать RVM, а также не будет иметь доступа к RVM вашего пользователя, не пытаясь самостоятельно взломать переменные среды RVM.

Поэтому вы должны использовать решение, предоставленное RVM, т.е. rvmsudo, Он передаст все переменные окружения, которые RVM настроил, чтобы получить правильный Ruby, а также привилегии sudo, что и нужно для установки пассажира в этом примере.

Другие вопросы по тегам