Вы правы, что macOS не позволит вам что-либо изменить с помощью версии Ruby, которая устанавливается на ваш Mac. Тем не менее, можно установить драгоценные камни, такие как bundler
, используя отдельную версию Ruby, которая не мешает Apple.
Использование sudo
для установки гемов или изменение прав доступа к системным файлам и каталогам настоятельно не рекомендуется, даже если вы знаете, что делаете. Можем ли мы прекратить давать этот плохой совет?
Решение состоит из двух основных этапов:
- Установите отдельную версию Ruby, которая не мешает той, которая поставляется с вашим Mac.
- Обновите
PATH
так, чтобы местоположение новой версии Ruby было первым в PATH
. Список каталогов и порядок их поиска в компьютере для поиска исполняемых программ называется PATH
. Если вы наберете echo $PATH
в Терминале, вы увидите список каталогов, разделенных двоеточием.
Существует несколько способов установить Ruby на Mac. Лучший способ, который я рекомендую и который я бы хотел использовать в различных инструкциях по установке, - это использовать автоматизированный скрипт , который настроит для вас подходящую среду Ruby. Это резко снижает вероятность возникновения ошибки из-за неадекватных инструкций, которые заставляют пользователя делать кучу вещей вручную и оставляют за ним возможность выяснить все необходимые шаги.
Другой способ, которым вы можете воспользоваться, - это потратить дополнительное время на ручную работу и надеясь на лучшее. Во-первых, вам нужно установить Homebrew , что упрощает установку других инструментов и приложений macOS.
Затем 4 самых популярных способа установки отдельной версии Ruby:
Если вам не нужно более одной версии Ruby одновременно (кроме той, которая поставляется с macOS)
- Homebrew - после установки установите ruby с помощью
brew install ruby
, затем обновите PATH
, запустив echo 'export PATH="/usr/local/opt/ruby/bin:$PATH"' >> ~/.bash_profile
, затем source ~/.bash_profile
Если вам нужна гибкость простого переключения между многими версиями Ruby
chruby и ruby-install - мои личные рекомендации и те, которые автоматически устанавливаются вышеупомянутым скриптом. Их можно установить вместе с Homebrew.
rbenv - можно установить вместе с Homebrew
RVM
Чтобы убедиться, что вы используете несистемную версию Ruby, вы можете запустить следующие команды:
which ruby
Это должно быть что-то отличное от /usr/bin/ruby
ruby -v
Это должно быть что-то отличное от 2.3.7. На сегодняшний день 2.6.1 является последней версией Ruby.
После установки новой версии Ruby вы можете установить пакет:
gem install bundler