
По умолчанию Mac OS поставляется с предустановленной версией Ruby, которая редко обновляется. Например, в macOS Ventura предустановлен Ruby 2.6.10, выпущенный в 2021 году. Эта версия не поддерживает многие современные гемы и инструменты разработки. Для полноценной работы с актуальными проектами требуется установка новой версии Ruby.
Первый шаг – установка Homebrew, если он ещё не установлен: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)". Далее потребуется rbenv – инструмент для управления версиями Ruby. Устанавливается командой brew install rbenv ruby-build. После установки обязательно инициализировать rbenv: rbenv init и добавить вызов в файл ~/.zshrc или ~/.bash_profile.
Для установки новой версии Ruby используется команда rbenv install 3.3.0 (номер версии можно заменить на актуальный). После установки нужно активировать её по умолчанию: rbenv global 3.3.0. Команда ruby -v должна отобразить новую версию.
Важно: перед обновлением убедитесь, что Xcode Command Line Tools установлены. Это можно проверить командой xcode-select --install. Без них установка Ruby может завершиться с ошибкой компиляции.
После обновления не забудьте переустановить гемы, если вы использовали системный Ruby ранее. Старые версии несовместимы и не будут работать с новой сборкой. Команда gem install bundler – первое, что стоит выполнить.
Проверка текущей версии Ruby на Mac OS

Откройте терминал через Spotlight или Launchpad. Введите команду ruby -v и нажмите Enter. Система выведет строку с установленной версией Ruby, например: ruby 2.6.8p205. Эта информация необходима для принятия решения об обновлении.
На Mac OS по умолчанию используется системная версия Ruby, установленная в /usr/bin/ruby. Чтобы убедиться, откуда именно запускается Ruby, используйте команду which ruby. Если путь отличается от стандартного, например /opt/homebrew/bin/ruby, значит, используется альтернативная установка, чаще всего через Homebrew или rbenv.
Для диагностики конфигурации окружения запустите ruby -e 'puts RUBY_PLATFORM' и ruby -e 'puts RbConfig::CONFIG["prefix"]'. Эти команды покажут платформу сборки и директорию установки, что поможет избежать конфликтов при обновлении.
Как установить Homebrew для удобного обновления Ruby

- Откройте терминал.
- Установите Xcode Command Line Tools (если не установлены):
xcode-select --install - Скачайте и установите Homebrew одной командой:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" - После установки добавьте Homebrew в PATH:
- Для
zsh:echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile - Для
bash:echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.bash_profile
- Для
- Примените изменения:
eval "$(/opt/homebrew/bin/brew shellenv)" - Проверьте установку:
brew doctor
Теперь Homebrew готов к использованию. С его помощью можно устанавливать Ruby-менеджеры, такие как rbenv или ruby-build, без конфликта с системной версией Ruby.
Обновление Ruby с помощью rbenv

Установите rbenv через Homebrew: brew install rbenv ruby-build. После установки добавьте rbenv в оболочку, выполнив: echo 'eval "$(rbenv init -)"' >> ~/.zshrc и перезапустите терминал.
Проверьте доступные версии Ruby: rbenv install -l. Выберите нужную, например 3.2.2, и установите её командой: rbenv install 3.2.2. Убедитесь, что установка прошла успешно: ruby -v.
Сделайте новую версию Ruby версией по умолчанию: rbenv global 3.2.2. Чтобы убедиться, что используется правильная версия, выполните: rbenv versions.
При необходимости установите bundler: gem install bundler. Если ранее использовались другие версии Ruby, можно удалить их через rbenv uninstall <версия>.
Для обновления rbenv и ruby-build используйте: brew upgrade rbenv ruby-build. Это обеспечит доступ к последним версиям Ruby.
Использование RVM для управления версиями Ruby

RVM (Ruby Version Manager) позволяет устанавливать и переключаться между несколькими версиями Ruby без вмешательства в системные файлы. Это особенно полезно на Mac OS, где предустановленная версия Ruby используется системой и не должна изменяться напрямую.
Для начала установки RVM необходимо выполнить в терминале:
curl -sSL https://get.rvm.io | bash -s stable
После установки перезапустите терминал и проверьте доступность RVM:
rvm -v
Для установки новой версии Ruby, например 3.2.2, выполните:
rvm install 3.2.2
После установки можно задать версию Ruby по умолчанию:
rvm use 3.2.2 --default
Чтобы проверить активную версию:
ruby -v
Для управления проектами удобно использовать файл .ruby-version в корне проекта. Укажите в нём нужную версию, например:
3.2.2
RVM автоматически переключит версию при переходе в директорию с этим файлом. Это избавляет от необходимости вручную менять версии при работе с разными проектами.
Чтобы обновить RVM до последней версии:
rvm get stable
Не устанавливайте Ruby через Homebrew при использовании RVM, чтобы избежать конфликтов. Все действия с Ruby выполняйте через команды RVM, включая удаление старых версий:
rvm remove 2.7.8
Решение проблем после обновления Ruby на Mac OS

После обновления Ruby через Homebrew или rbenv возможны сбои в работе gem-пакетов. Убедитесь, что используется актуальная версия Ruby: выполните ruby -v и which ruby. Если путь указывает на системную версию, а не на установленную через менеджер версий, настройте переменные среды.
Для rbenv добавьте в ~/.zshrc или ~/.bash_profile строку eval "$(rbenv init -)", затем перезапустите терминал. Для chruby или asdf проверьте, что активирована нужная версия командой chruby или asdf current ruby.
, затем перезапустите терминал. Для chruby или asdf проверьте, что активирована нужная версия командой chruby или asdf current ruby.»>
После смены версии Ruby требуется переустановить гемы. Используйте gem install bundler и bundle install в директории проекта. Если появляются ошибки с нативными расширениями, например ffi или nokogiri, установите Xcode Command Line Tools командой xcode-select --install.
Если не работает Rails или rake, удалите старые shims: rbenv rehash. Проверьте наличие нужных версий bundler: gem list bundler. При необходимости установите через gem install bundler -v x.x.x.
Проблемы с доступом к gem-серверу решаются сбросом HTTPS-источника: gem sources --remove https://rubygems.org, затем gem sources --add https://rubygems.org и gem update --system.
Ошибки, связанные с правами доступа при установке gem’ов, возникают из-за попытки использовать системный Ruby. Используйте rbenv или rvm и избегайте sudo при установке пакетов.
Если консоль выдаёт ошибки при запуске irb или pry, переустановите их: gem install irb pry. Для корректной работы pry с новой версией Ruby обновите все зависимости: bundle update.
Проверка совместимости Ruby с установленными гемами

Перед обновлением Ruby выполните команду gem list и сохраните список установленных гемов: gem list > gems_before_update.txt. Это позволит сравнить версии до и после обновления.
Используйте ruby -v для определения текущей версии Ruby, затем выполните bundle outdated в проектах с Bundler. Это покажет, какие гемы устарели и могут быть несовместимы с новой версией.
Проверьте документацию гемов на GitHub: обратите внимание на секции Dependencies и Required Ruby version. Ищите ограничения вида ‘>= 2.7’, ‘< 3.1' – они могут блокировать установку под более новой версией Ruby.
Установите новую версию Ruby в изолированной среде через rbenv или rvm, затем клонируйте проект и выполните bundle install. Появление ошибок вида Gem::InstallError или incompatible ruby version указывает на проблемы совместимости.
Для критически важных гемов (например, pg, nokogiri, ffi) проверьте наличие нативных расширений. После обновления Ruby может потребоваться перекомпиляция: gem pristine —all или bundle exec rake compile.
Если используются устаревшие или заброшенные гемы, ищите форки или альтернативы, совместимые с новой версией. Пример: вместо therubyracer можно использовать mini_racer.
Тестируйте проект после каждой установки: запускайте rspec, minitest или используйте rails s, чтобы убедиться в отсутствии ошибок и предупреждений о совместимости.
Вопрос-ответ:
Можно ли обновить Ruby на Mac без использования менеджеров версий вроде RVM или rbenv?
Технически можно, но не рекомендуется. Встроенная версия Ruby на Mac является частью системы, и её обновление напрямую может привести к сбоям в работе системных утилит. Менеджеры версий, такие как RVM, rbenv или asdf, позволяют устанавливать и переключаться между разными версиями Ruby, не затрагивая системную. Это безопаснее и удобнее, особенно если вы работаете с несколькими проектами, где используются разные версии языка.
Почему после установки новой версии Ruby через rbenv терминал всё равно показывает старую?
Скорее всего, проблема в том, что путь к новой версии Ruby не добавлен в переменные окружения. Убедитесь, что вы выполнили команду `rbenv init` и добавили её в файл `~/.zshrc` или `~/.bash_profile`, в зависимости от используемого shell. После этого перезапустите терминал или выполните `source ~/.zshrc`, чтобы изменения вступили в силу. Также проверьте, что нужная версия действительно установлена и выбрана с помощью `rbenv global 3.x.x`.
Как узнать, какая версия Ruby сейчас используется на моём Mac?
Откройте терминал и введите команду `ruby -v`. Она покажет текущую активную версию Ruby. Если вы используете менеджер версий, такой как rbenv или RVM, можно также использовать команду `rbenv version` или `rvm list`, чтобы увидеть, какая версия активна в данный момент и какие доступны на системе.
Что делать, если после установки новой версии Ruby перестали работать гемы?
Такое случается, потому что у каждой версии Ruby свой собственный набор гемов. Если вы обновили Ruby, нужно заново установить нужные библиотеки, например, с помощью `bundle install`, если в проекте есть `Gemfile`. Ещё один способ — использовать команды `gem install` вручную для каждого необходимого модуля. Менеджеры версий помогают избежать путаницы, поскольку чётко разделяют окружения для каждой версии.
Какая версия Ruby считается стабильной и подходящей для работы на Mac в 2025 году?
На начало 2025 года стабильной считается версия Ruby 3.3. Она активно поддерживается, получила множество улучшений по производительности и безопасности. Однако выбор зависит от вашего проекта. Если вы работаете с фреймворками вроде Rails, имеет смысл проверить, какие версии они рекомендуют. Для новых проектов — лучше использовать актуальную стабильную версию.
