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.
Spis treści
Instalacja RVM
Raz zainstalowany RVM można później używać dla wszystkich własnych domen.
Przed instalacją należy aktywować opcję binexec i przelogować się.
{{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