Основная причина здесь в том, что rvm должен быть определен как функция вашей оболочки, а не как rvm-use
скрипт.
Если он определен как скрипт, rvm-use
будет работать в отдельном подпроцессе и имел доступ только к копии вашей оболочки, а не к исходному окну. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *} * *} Поэтому вам необходим полный доступ к вашей среде оболочки - следовательно, необходимо использовать полный доступ к среде оболочки PATH (чтобы вставить правильную версию rvm ruby). нужно где-то загрузить эту функцию - она (скорее всего, не полностью проверила) выполняется через /etc/profile
, который загружает файл /etc/profile.d/rvm.sh
. Этот файл должен быть получен вручную или загружен автоматически при открытии терминала в качестве оболочки входа в систему.
Теперь, почему rvm нуждается в изменении среды локального терминала вместо использования единого глобального состояния? Это позволяет нам иметь несколько открытых терминалов с различными активными версиями ruby одновременно.