Найти в Дзене

Как правильно установить Ruby с помощью chruby на Mac? Пошаговая инструкция

По умолчанию Mac поставляется с предустановленным языком Ruby. Однако его не стоит использовать для своих проектов по 2 причинам: Крутые программисты используют специальные менеджеры для управления версиями Ruby, будем делать также. На выбор таких менеджеров много - rvm, rbenv, chruby, asdf и другие, появляются до сих пор. Я для себя выбрал chruby как один из относительно простых и легковесных. Установить chruby можно множеством способов, но я советую через пакетный менеджер Homebrew, созданный специально для macOS. Рекомендую прочитать здесь, как это сделать это правильно. После того, как Homebrew установлена, приступаем к установке chruby. 1. В первую очередь получаем последние изменения с репозиториев Homebrew: brew update 2. Устанавливаем chruby для управления версиями Ruby и ruby-install для установки Ruby: brew install chruby ruby-install 3. Настраиваем chruby. Для этого добавляем строку в файле /User/<username>/.zshrc: source $(brew --prefix)/opt/chruby/share/chruby/chruby.sh 4.

По умолчанию Mac поставляется с предустановленным языком Ruby. Однако его не стоит использовать для своих проектов по 2 причинам:

  • не рекомендуется использовать системную версию Ruby
  • отсутствует возможность переключаться между разными версиями Ruby

Крутые программисты используют специальные менеджеры для управления версиями Ruby, будем делать также. На выбор таких менеджеров много - rvm, rbenv, chruby, asdf и другие, появляются до сих пор. Я для себя выбрал chruby как один из относительно простых и легковесных.

Установить chruby можно множеством способов, но я советую через пакетный менеджер Homebrew, созданный специально для macOS. Рекомендую прочитать здесь, как это сделать это правильно. После того, как Homebrew установлена, приступаем к установке chruby.

1. В первую очередь получаем последние изменения с репозиториев Homebrew:

brew update

2. Устанавливаем chruby для управления версиями Ruby и ruby-install для установки Ruby:

brew install chruby ruby-install

3. Настраиваем chruby. Для этого добавляем строку в файле /User/<username>/.zshrc:

source $(brew --prefix)/opt/chruby/share/chruby/chruby.sh

4. По необходимости добавляем в том же файле .zshrc автопереключение версии Ruby в зависимости от каталога проекта:

source $(brew --prefix)/opt/chruby/share/chruby/auto.sh

После всех изменений файл /User/<username>/.zshrc должен выглядеть следующим образом (добавил комментарии для понимания каждой строки):

# Add Homebrew's executable directory to the front of the PATH
export PATH=/usr/local/bin:$PATH
# Enable chruby
source $(brew --prefix)/opt/chruby/share/chruby/chruby.sh
# Auto-switching
source $(brew --prefix)/opt/chruby/share/chruby/auto.sh

5. Приступаем к установке Ruby с помощью ruby-install. Но перед этим, проверим актуальную версию:

ruby-install --latest

На момент статьи это версия 3.2.0. Устанавливаем актуальную версию Ruby:

ruby-install --latest ruby

После это команды начинается продолжительный процесс установки Ruby и всех зависимых библиотек.

6. После завершения установки необходимо переключиться на актуальную версию командой:

chruby 3.2.0

И проверить выбранную версию:

ruby -v

Для использования системной версии Ruby нужно набрать:

chruby system

Для просмотра всех установленных версий Ruby:

chruby

Единственным недостатком chruby я для себя нашел запоминание выбранной версии Ruby только в текущем сеансе терминала. Если закрыть и снова открыть терминал, будет выбрана системная версия. Но это нивелируется автопереключением версии языка по каталогу проекта или версией по умолчанию командой в файле ~/.zshrc:

chruby ruby-3.2.0

Тогда файл ~/.zshrc будет иметь финальный вариант

# Add Homebrew's executable directory to the front of the PATH
export PATH=/usr/local/bin:$PATH
# Enable chruby
source $(brew --prefix)/opt/chruby/share/chruby/chruby.sh
# Set default Ruby version
chruby ruby-3.2.0
# Auto-switching
source $(brew --prefix)/opt/chruby/share/chruby/auto.sh

Надеюсь, инструкция была полезна, и ты набьешь меньше шишек при настройке своего Mac, чем сделал это я.

#macos #chruby #ruby