Как использовать chruby для ручного изменения версии ruby в соответствии со значением в.ruby-version
Я использую источник /usr/local/opt/chruby/share/chruby/auto.sh для автоматического переключения ruby на версию в.ruby-версии, но, к сожалению, это работает только на CD.
Когда я открываю новую вкладку в моем терминале Mac, она открывается в том же каталоге, в котором я находилась на предыдущей вкладке, но автоматическое изменение не работает. Мое решение этого заключается в cd ..
и cd
обратно, что вызывает изменение. Это утомительно, очевидно.
Я пытался вручную вызвать функцию chruby_auto
в новой вкладке, но это не имеет никакого эффекта.
Может кто-нибудь предложить решение, как обновить мою версию ruby в этом случае? Я бы предпочел автоматическое решение, но соглашусь на команду для вызова.
2 ответа
На самом деле не имеет значения, я проследил это до проблемы в порядке этих вызовов в моем.bashrc
source /usr/local/opt/chruby/share/chruby/chruby.sh
source /usr/local/opt/chruby/share/chruby/auto.sh
chruby ruby-2.3.0
Оказывается, вы должны вызывать автоматическую линию ПОСЛЕ строки по умолчанию. Обратите внимание, что строка по умолчанию должна быть также после строки chruby.sh.
source /usr/local/opt/chruby/share/chruby/chruby.sh
chruby ruby-2.3.0 # default order important, if comes after auto.sh, will undo the auto change
source /usr/local/opt/chruby/share/chruby/auto.sh
Так что просто оставив этот ответ здесь для потомков, я думаю,
Если я не понимаю вашу проблему, похоже, что вы хотите ~/.ruby-version
файл (отличается от .ruby-version
файл в вашем проекте), чтобы вы могли определить, какую версию Ruby вы хотите использовать по умолчанию при открытии нового окна терминала (это значение затем будет переопределено проектом .ruby-version
файл, если он существует). Например, в моем ~/.bashrc
, Я имею:
if [[ -e /usr/local/share/chruby ]]; then
# Load chruby
source /usr/local/share/chruby/chruby.sh
# Allow auto-switching of Ruby version when
# directory has a .ruby-version file
source /usr/local/share/chruby/auto.sh
fi
мой ~/.ruby-version
просто содержит 2.3.1
и звонить не нужно chruby
явно в ~/.bashrc
, Для получения дополнительной информации см. Раздел Ruby по умолчанию chruby
README файл.