Установка Ruby и gem через RVM на Mac OS

Admin Bash, Localhost, Mac OS

Процесс установки Ruby на Mac OS через систему управления пакетами RVM.

Введение

Я уже писал о том, как установить Ruby на Mac OS через Homebrew.

Минус вышеуказанной установки в том, что Ruby и его гемы будут установлены в рут директорию. В этом нет ничего плохого, если всё делать правильно.

А можно пойти другим путём и установить Ruby и gem-ы, не затрагивая основную версию. Для этого на Mac OS есть сторонние инструменты вроде rbenv и RVM (Ruby Version Manager). На последнем и остановимся.

Установка RVM (система управления пакетами)

Вариант 1

gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

При этой команде может возникнуть ошибка:

gpg: command not found

Ругается на отсутствие GnuPG. По умолчанию в маке он не установлен. Можно его установить через Homebrew:

brew install gnupg gnupg2

А затем заново повторить команду.

Вариант 2

Без дополнительных установок, инсталлируем через curl:

\curl -sSL https://get.rvm.io | bash -s stable

Процесс установки:

В конце установки появится надпись, которая сообщает, что делать дальше:

To start using RVM you need to run `source /Users/Dream/.rvm/scripts/rvm`
in all your open shell windows, in rare cases you need to reopen all shell windows.

Команда установит RVM для текущего пользователя:

source /Users/Dream/.rvm/scripts/rvm

На этом установка менеджера для Ruby завершена.

Установка Ruby с помощью RVM

Посмотрим какие версии руби можно установить:

rvm list known

На само деле, указываются не все версии. Самые последние могут не показываться. Можно загуглить последнюю стабильную сборку и указать её версию в установке.

Устанавливаем последнюю версию руби:

rvm install 2.5.3

Не пугаемся надписи, всё нормально:

Searching for binary rubies, this might take some time.
No binary rubies available for: osx/10.14/x86_64/ruby-2.5.1.
Continuing with compilation. Please read 'rvm help mount' to get more information on binary rubies.

Установка занимает несколько минут. Полный процесс установки:

Для выбора версии Ruby, которая будет использоваться по умолчанию, используется команда:

rvm use ruby 2.5.3 --default

Можно вернуться к использованию системной версии ruby

rvm use system

Для каждой из версии руби можно установить отдельный набор гемов (gemset).

Создаём gemset который назовём work:

rvm use 2.5.3@work --create

Можно посмотреть все созданные «наборы гемов»:

rvm gemset list

Применить «набор сетов» по умолчанию:

rvm use 2.5.3@work

Установка gems в Ruby на RVM

Если после установки гемов ничего не работает, можно попробовать установить через sudo.

Устанавливаем гем компосса:

rvm @work do gem install compass

Устанавливаем дополнительные любые другие гемы, например:

rvm @work do gem install breakpoint
rvm @work do gem install autoprefixer-rails

Процесс установки:

Удаляем гем из набора гемов:

rvm @work do gem uninstall listen

где listen — название гема

Чистка и удаление RVM

Удалить определенную версию Ruby:

rvm remove 2.5.1

Чтобы удалить «набор гемов» (gemset):

rvm gemset delete work

Посмотреть все установленные версии ruby:

rvm list

Перезагрузка RVM

rvmreset

Полностью удалить RVM:

rvm implode

Настройка в PhpStorm

По умолчанию compass в маке находится по такому пути:

Однако мы установили в другую директорию, поэтому меняем путь на другой:

/Users/Dream/.rvm/gems/ruby-2.5.3@work/gems/compass-1.0.3/bin/compass

Также настраиваем под себя Arguments:

compile $FileParentDir(sass)$

Заключение

  • Установили систему управления пакетами для Ruby
  • Установили нужную нам версию руби в директорию текущего юзера
  • Добавили туда необходимые гемы
  • Настроили compass в PhpStorm

Возможные ошибки

/Users/Dream/.rvm/gems/ruby-2.5.1@work/gems/compass-1.0.3/bin/compass compile /Users/...
/Users/Dream/.rvm/rubies/ruby-2.5.1/lib/ruby/site_ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require': cannot load such file -- compass/core (LoadError)
    from /Users/Dream/.rvm/rubies/ruby-2.5.1/lib/ruby/site_ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
    from /Users/Dream/.rvm/gems/ruby-2.5.1@work/gems/compass-1.0.3/lib/compass.rb:14:in `block in '
    from /Users/Dream/.rvm/gems/ruby-2.5.1@work/gems/compass-1.0.3/lib/compass.rb:13:in `each'
    from /Users/Dream/.rvm/gems/ruby-2.5.1@work/gems/compass-1.0.3/lib/compass.rb:13:in `'
    from /Users/Dream/.rvm/rubies/ruby-2.5.1/lib/ruby/site_ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
    from /Users/Dream/.rvm/rubies/ruby-2.5.1/lib/ruby/site_ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
    from /Users/Dream/.rvm/gems/ruby-2.5.1@work/gems/compass-1.0.3/bin/compass:20:in `block in '
    from /Users/Dream/.rvm/gems/ruby-2.5.1@work/gems/compass-1.0.3/bin/compass:8:in `fallback_load_path'
    from /Users/Dream/.rvm/gems/ruby-2.5.1@work/gems/compass-1.0.3/bin/compass:19:in `'

Это может означать, что в шторме, в настройках 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. Как установить недостающие гемы указано выше.

Официальный сайт
rvm.io

English Query (запросы по теме на английском языке)

How to resolve error during RVM – gpg command not found

У сайта нет цели самоокупаться, поэтому на сайте нет рекламы. Но если вам пригодилась информация, можете лайкнуть страницу, оставить комментарий или отправить мне подарок на чашечку кофе.

Добавить комментарий

Напишите свой комментарий, если вам есть что добавить/поправить/спросить по теме текущей статьи:
"Установка Ruby и gem через RVM на Mac OS"