Rvm сломан внутри экрана

#ruby #shell #rvm #gnu-screen

#ruby #оболочка #rvm #gnu-screen

Вопрос:

Я использую screen и даже после rvm 1.9.2 и наличия соответствующего .rvmrc мой сервер все еще будет использовать jruby.
My .screenrc содержит shell #{SHELL} информация о rvm показывает jruby.
Как будто rvm 1.9.2 не имеет никакого эффекта, но он отлично работает вне экрана.

Комментарии:

1. Я обнаружил, что функция rvm не загружается, но не уверен, почему нет. (протестировано с type rvm | head -1 )

Ответ №1:

Хорошо, я нашел решение. Создайте файл .screenrc и поместите этот фрагмент внутрь:

 shell -$SHELL
  

В официальных инструкциях тире опущено.

Комментарии:

1. -$SHELL у меня не сработало, но -${SHELL} сработало. Не уверен, почему.

Ответ №2:

Вместо того, чтобы заставлять screen систематически использовать оболочку входа, вы можете создать свой ~/.profile файл сразу после запуска экранного терминала.

Это каким-то образом переводит оболочку, запущенную screen, в оболочку входа в систему.

Ответ №3:

screen возможно, вы заменяете свой PATH чем-то более ограниченным. Внутри вашей экранной сессии выполните echo $PATH . В вашем домашнем каталоге должна отображаться обычная предварительно загруженная песочница RVM.

Если он усекается, вам нужно будет порыться в документах ИЛИ … спросить на сайтах SO peer Unix и Linux или у суперпользователя, поскольку этот вопрос довольно не по теме для Stack Overflow.

Комментарии:

1. Он не усечен. Просто использование rvm 1.9.2 кажется невозможным.

2. Я бы рекомендовал отправить электронное письмо автору. Его электронная почта находится по адресу rvm -v .