По умолчанию 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, имеет смысл проверить, какие версии они рекомендуют. Для новых проектов — лучше использовать актуальную стабильную версию.