RVM

RVM to platforma przeznaczona do zarządzania wieloma instalacjami interpretatora Ruby. Użycie RVM ma kilka korzyści, przede wszystkim możliwość ustalenia własnych gemów i ich aktualizacji do wybranych przez siebie wersji.

Instalacja RVM

Raz zainstalowany RVM można później używać dla wszystkich własnych domen.

{{prompt}gpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
(...)
gpg: Ogółem przetworzonych kluczy: 1
gpg:                    bez zmian: 1
curl -sSL https://get.rvm.io | bash -s stable
(...)
#   Thank you for using RVM!
#   We sincerely hope that RVM helps to make your life easier and more enjoyable!!!
#
# ~Wayne, Michal & team.

In case of problems: http://rvm.io/help and https://twitter.com/rvm_io
source .rvm/scripts/rvm

Instalacja interpretera Ruby

Po wykonaniu polecenia rvm list known pojawi się między innymi lista dostępnych wersji interpretera Ruby, która znajduje się w sekcji MRI Rubies. Do instalacji należy użyć polecania

rvm install 2.3 --autolibs=disabled
(...) 
Install of ruby-2.3.4 - #complete
Ruby was built without documentation, to build it run: rvm docs generate-ri
gem install bundler
(...)
1 gem installed

Tworzenie niezależnego środowiska

Ze względu na wrażliwość Ruby oraz zainstalowanych gemów na zmiany w wersjach systemowego oprogramowania zaleca się uruchomienie polecenia, które stworzy środowisko do uruchomienia aplikacji w katalogu domowym użytkownika rvm-libs ruby_bin domena, gdzie ruby_bin to ścieżka do interpretatora ruby, która została użyta do uruchomienia aplikacji, a domena to domena, gdzie jest uruchomiona aplikacja (podając ten parametr opcjonalny zostaną uwzględnione zależności danej aplikacji).

Zmienne

Ustawianie zmiennej z poziomu SSH z widocznością dla aplikacji uruchamianej przez Passengera:

  • Dopisanie zmiennych do ~/.bash_profile (np. export TESTENV=1).
  • Ważne: zmienne nie działają z ~/.bashrc i ~/.shrc

Przebudowa

Ruby:

rvm reinstall ruby-X.X.X --autolibs=disabled

gdzie X.X.X to używana wersja Ruby w RVM.

Gemów:

gem pristine --all

Odnośniki zewnętrzne