How to Install Ruby on Mac OS X with RVM
This article explains why you should avoid using the version of Ruby bundled with Mac OS X and should instead install your own version of Ruby with RVM, the Ruby Version Manager.
Hands Off the System Ruby
Apple bundles the Ruby programming language with OS X. However, the main caveat for using the bundled version, called the system Ruby, is that Apple bundles Ruby for it’s own use. Therefore, it’s best not to make changes to the system Ruby.
You’ll know when you’re about to change the system Ruby when you need to prefix a gem installation with sudo , for example:
Another reason for not using the system Ruby is that it’s often several versions behind the latest stable version.
The Ruby Version Manager
A better alternative to using the system Ruby is to install Ruby with RVM, the Ruby Version Manager. RVM is a tool for installing different versions of Ruby itself. RVM has the following advantages:
- RVM enables you to install multiple versions of Ruby and allows you to change which version you want to use.
- RVM installs each version of Ruby in a hidden folder in your home folder so each version of Ruby you install doesn’t affect the system Ruby.
- Gems installed by RVM-managed versions of Ruby are installed within the hidden folder in your home folder containing that version of Ruby.
- You won’t need use sudo to install gems.
To check that you’re currently using the system Ruby, open Terminal and type the following:
If you’re using the system Ruby, OS X will respond with:
You can check which version of Ruby OS X is using with:
Installing RVM and Ruby
The RVM install page has comprehensive instructions for installing RVM that work on Mac OS X. I’ll provide the steps I used here.
The first step is to install the mpapis public key. However, as the install page notes, you might need gpg. Mac OS X doesn’t ship with gpg so before installing the public key, you’ll need to install gpg. I installed gpg with Homebrew:
After you’ve installed gpg, you can install the mpapis public key:
I’ve listed the mapis public key install command here for illustration. You should use the version on the RVM install page.
I chose to install RVM with the latest stable version of Ruby, which at the time was 2.2.0:
After the installation completes, close the Terminal window and open a new one to make sure that Terminal picks up any environment changes.
Using RVM
You can list the versions of Ruby available to RVM with rvm list :
The rvm use command selects a version of Ruby:
You can check that you’re using an RVM-managed version of Ruby with:
OS X now responds with:
which tells us we’re using version 2.2.0 and that version 2.2.0 has been installed in my home folder away from the system Ruby. You can confirm this by asking Ruby itself with:
The RVM-managed version of Ruby responds with:
As I mentioned earlier, gems installed with RVM-managed versions of Ruby are located with the Ruby. You can check where gems will be installed with:
The following lines of output shows that gems will be installed in the folder XXX.
To find out where a particular gem is installed, use the gem which command. For example, gem which jekyll locates the Jekyll gem:
Установка Ruby и gem через RVM на Mac OS
Официальный сайт
Процесс установки Ruby на Mac OS через систему управления пакетами RVM.
Введение
Минус вышеуказанной установки в том, что Ruby и его гемы будут установлены в рут директорию. В этом нет ничего плохого, если всё делать правильно.
А можно пойти другим путём и установить Ruby и gem-ы, не затрагивая основную версию. Для этого на Mac OS есть сторонние инструменты вроде rbenv и RVM (Ruby Version Manager). На последнем и остановимся.
Установка RVM (система управления пакетами)
Вариант 1
При этой команде может возникнуть ошибка:
Ругается на отсутствие GnuPG. По умолчанию в маке он не установлен. Можно его установить через Homebrew:
А затем заново повторить команду.
Вариант 2
Без дополнительных установок, инсталлируем через curl:
В конце установки появится надпись, которая сообщает, что делать дальше:
Команда установит RVM для текущего пользователя:
На этом установка менеджера для Ruby завершена.
Установка Ruby с помощью RVM
Посмотрим какие версии руби можно установить:
На само деле, указываются не все версии. Самые последние могут не показываться. Можно загуглить последнюю стабильную сборку и указать её версию в установке.
Устанавливаем последнюю версию руби:
Не пугаемся надписи, всё нормально:
Установка занимает несколько минут. Полный процесс установки:
Для выбора версии Ruby, которая будет использоваться по умолчанию, используется команда:
Можно вернуться к использованию системной версии ruby
Для каждой из версии руби можно установить отдельный набор гемов (gemset).
Создаём gemset который назовём work:
Можно посмотреть все созданные «наборы гемов»:
Применить «набор сетов» по умолчанию:
Установка gems в Ruby на RVM
Если после установки гемов ничего не работает, можно попробовать установить через sudo.
Устанавливаем гем компосса:
Устанавливаем дополнительные любые другие гемы, например:
Удаляем гем из набора гемов:
где listen — название гема
Чистка и удаление RVM
Удалить определенную версию Ruby:
Чтобы удалить «набор гемов» (gemset):
Посмотреть все установленные версии ruby:
Полностью удалить RVM:
Настройка в PhpStorm
По умолчанию compass в маке находится по такому пути:
Однако мы установили в другую директорию, поэтому меняем путь на другой:
Также настраиваем под себя Arguments:
Заключение
- Установили систему управления пакетами для Ruby
- Установили нужную нам версию руби в директорию текущего юзера
- Добавили туда необходимые гемы
- Настроили compass в PhpStorm
Возможные ошибки
Это может означать, что в шторме, в настройках File Watchers указан неправильный путь.
/Users/Dream/.rvm/gems/ruby-2.5.3@test/wrappers/compass compile /Users/.
LoadError on line [«59»] of /Users/Dream/.rvm/rubies/ruby-2.5.3/lib/ruby/site_ruby/2.5.0/rubygems/core_ext/kernel_require.rb: cannot load such file — autoprefixer-rails
Run with —trace to see the full backtrace
Process finished with exit code 1
Не хватает определенного гема. В данном случае ругается на отсутствие autoprefixer-rails. Как установить недостающие гемы указано выше.
English Query (запросы по теме на английском языке)
How to resolve error during RVM – gpg command not found
Читайте также
Если вам пригодилась информация, вы можете поблагодарить автора сайта символическим пожертвованием:
Устанавливаем Ruby на Mac
Если вы новичок, то данный урок для вас. Если вам не терпится попробовать Ruby или Ruby on Rail, но терминал для вас загадка, вы обнаружите, что даже процесс установки выдаст бесчисленные непонятные ошибки. В данной статье мы опишем подробные шаги установки рабочей версии Ruby на ваш Mac.
Шаг 1 — RVM
Вам наверняка будет интересно узнать, что Ruby предустановлен на ваш Mac. Не верите мне? Откройте окно терминала и введите:
Скорее всего, терминал выдаст номер версии 1.8.7 . Если вам покажется, что можно работать и с этой версией, вот несколько причин по которым не стоит этого делать:
- Старые версии OS поставляются с Ruby с кучей ошибок.
- RVM обеспечивает гибкость в использовании любой версии Ruby, которая вам требуется. К тому же, если вы только начинаете работать с Ruby, не стоит использовать старую версию; Вам нужна версия 1.9.2! (прим. переводчика: на момент перевода статьи версия 2.4.0 является текущей стабильной версией Ruby).
В наше время все крутые ребята используют RVM для установки Ruby, и мы сделаем тоже самое.
«RVM позволяет развернуть любой проект в собственной автономной и замкнутой среде—от конкретной версии ruby, вплоть до определенного набора необходимых пакетов (прим. переводчика: gem — стандартный формат программ и библиотек Ruby) для запуска приложения. Наличие точного набора пакетов позволяет также избежать конфликтов между версиями в разных проектах, которые могут служить причиной трудно отслеживаемых ошибок и выпадения волос. «
Откройте терминал и введите:
Если вы получили сообщение об ошибке, когда попытались выполнить данную команду, убедитесь, что у вас установлена программа Git. Не волнуйтесь, ее легко установить!
Шаг 2 — Загрузка RVM в Shell
Установка займет несколько секунд, а затем, нам нужно сделать RVM доступной в оболочке. Мы это сделаем, обновив файл
Обратите внимание, что для обновления файла мы используем текстовый редактор Vim, который может быть немного запутанным на первых порах. Но вы можете открыть данный файл в любом редакторе, который вы предпочитаете. Возможно вы захотите воспользоваться командой mate .bash_profile . Кроме того, если данный файл не существует, вам следует создать его вручную. Добавьте следующюю строку в самый конец файла.
Если вы используете Vim, вам нужно сначала нажать i , чтобы переключиться в режим ввода . После того, как вы добавили данную строку, нажмите Escape , и затем :wq! , чтобы сохранить и закрыть файл. Если вы используете другой редактор, то вы знаете, что делать!
Шаг 3 — Перезагужаем Терминал
Чтобы избежать ошибок и убедиться, что все работает нормально, давайте перезагрузим терминал. Чтобы убедиться, что RVM установлен правильно, введите:
Вы увидите длинный список доступных команд. Отличная работа; эту часть мы сделали.
Шаг 4 — Скачиваем последнюю версию Xcode
Из моего опыта, самое неприятное, когда пытаешься установить новую версию Ruby с помощью RVM, а получаешь кучу непонятных ошибок. В большинстве случаев, это результат того, что Apple Xcode не установлена на вашем компьютере, или, если и установлена, то не текущая версия.
Вы можете скачать Xcode на Apple App Store. Введите в поиск «xcode» и нажмите на кнопку «установить».
Можете пойти пообедать, так этот огромный файл будет загружаться очень долго. Но как только он загрузится, запустите процесс установки и, когда закончите, закройте Xcode. Вам не нужно перезагружать компьютер, но, если вам так спокойней, можете перезагрузить.
Шаг 5 — Скачиваем Ruby 1.9.2 (прим. переводчика: на момент перевода статьи версия 2.4.0 является текущей стабильной версией Ruby).
Далее перезапускаем Терминал и вводим:
Вы увидите длинный список версий.
Для наших нужд, давайте установим версию 1.9.2 (прим. переводчика: последняя текущая версия Ruby — 2.4.0)
Это займет несколько мгновений.
Если вы по-прежнему получаете сообщение об ошибке, оставьте комментарий внузу статьи с вашей ошибкой, и мы все поможем вам провести отладку. Но, прежде чем сделать это, введите: rvm notes , чтобы определить, не забыли ли вы установить какие-нибудь взаимозависимые компоненты.
После завершения установки, мы должны дать RVM знать, какую версию Ruby мы хотим использовать на данный момент:
Далее протестируем номер версии:
На моем компьютере это ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-darwin11.1.0] . Отличная работа, теперь мы используем версию Ruby 1.9.2. Остался еще один последний шаг.
Шаг 6 — сделаем 1.9.2 версией по умолчанию
Если вы перезапустите Терминал и снова введете ruby -v , скорее всего вы обнаружите, что версия Ruby опять поменялась на 1.8.7 — версию, установленную по умолчанию на Mac. Вот не задача! Давайте уж точно сделаем 1.9.2 версией по умолчанию.
Эта команда идентична той, которую мы ввели мгновение назад, с одной лишь разницей, теперь мы указываем, что 1.9.2 должна быть версией по умолчанию.
Шаг 7 — Окончание. Устанавливаем Gems.
Вот и все! Вы готовы к работе! Если хотите поэксперементироваться с синтаксисом Ruby, введите:
Далее следует установить пакеты (gems), которые вам потребуются. Например, если хотите работать с Ruby on Rails:
Или, возможно, с Sinatra:
Это важно: Обратите внимание, что я не использую sudo для установки пакетов (gems). Этого ни в коем случае нельзя делать при работе с RVM. Из официальной документации:
«Когда вы используете sudo, все команды выполняются в режиме root, другим пользователем, в другой оболочке, и, следовательно, все настройки, произведенные RVM, будут проигнорированы при запуске команды sudo (такие, как, например, GEM_HOME, и т.д. ). Повторимся еще раз, как только вы вводите команду «sudo», вы работаете как суперпользователь, это изменит не только вашу среду, но также любые файлы, которые вы создадите в режиме «sudo», не смогут быть изменены вашим пользователем, что может привести к странным последствиям. (Вам начнет казаться, что кто-то приобрел куклу вуду ваших приложений. «)
Заключение
Если, данный урок показался вам невероятно легким, то это потому, что он не был предназначен для вас. Не все чувствуют себя комфортно, работая с командной строкой, и не каждый устанавливает Ruby без предварительной кучи ошибок. Надеюсь данная статья будет вам хоть немного полезна. Если же по-прежнему вы испытываете какие-то проблемы, оставьте комментарий и мы сделаем все возможное чтобы вам помочь!
В качестве альтернативы RVM, вы также можете воспользоваться rbenv, пакет, хотя и довольно новый, но быстро набирающий популярность.