Обновление Ruby для Redmine используя RVM
Необходимо было обновить версию Ruby на тестовом сервере Redmine, на тот момент была версия из репы - 1.9.1, нужна 2.0.0. Сказано-сделано, решено было обновится на нужную используя RVM. Тут есть руководство по установке.
Первым делом необходимо добавить ключ
Стоит учесть? что данная команда устанавливает последнюю стабильную версию
Посмотреть все версии, которые есть, можно с помощью команды
А так же создал gemsets
Ну и задал нужное мне окружение c помощью файла
Теперь после захода в каталог проекта, RVM будет выполнять команду указаную в этом файле и выдавать подобную надпись зеленым цветом
Далее я установил passenger для нужной мне версии руби
Далее я его просто выбрал в конфиг файле nginx’a
/etc/nginx/conf.d/passenger.conf
Первым делом необходимо добавить ключ
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
Ну и собственно установка Ruby с RVMcurl -sSL https://get.rvm.io | bash -s stable --ruby
Стоит учесть? что данная команда устанавливает последнюю стабильную версию
Посмотреть все версии, которые есть, можно с помощью команды
rvm list known
# MRI Rubies [ruby-]1.8.6[-p420] [ruby-]1.8.7[-head] # security released on head [ruby-]1.9.1[-p431] [ruby-]1.9.2[-p330] [ruby-]1.9.3[-p551] [ruby-]2.0.0[-p598] [ruby-]2.1.4 [ruby-]2.1[.5] [ruby-]2.2.0 [ruby-]2.2-head ruby-head # for forks use: rvm install ruby-head-Для установки нужной мне версии выполнил--url https://github.com/github/ruby.git --branch 2.1 # JRuby jruby-1.6.8 jruby[-1.7.19] jruby-head jruby-9.0.0.0.pre1 # Rubinius rbx-1.4.2 rbx-2.4.1 rbx[-2.5.2] rbx-head # Opal opal # Minimalistic ruby implementation - ISO 30170:2012 mruby[-head] # Ruby Enterprise Edition ree-1.8.6 ree[-1.8.7][-2012.02] # GoRuby goruby # Topaz topaz # MagLev maglev[-head] maglev-1.0.0 # Mac OS X Snow Leopard Or Newer macruby-0.10 macruby-0.11 macruby[-0.12] macruby-nightly macruby-head # IronRuby ironruby[-1.1.3] ironruby-head
rvm install 2.0.0
после чего можно посмотреть какие версии установлены с помощью rvm list
rvm list rvm rubies ruby-2.0.0-p598 [ x86_64 ] =* ruby-2.2.0 [ x86_64 ] # => - current # =* - current && default # * - defaultДалее я сделал нужную мне версию по умолчанию
rvm use ruby 2.0.0 --default
А так же создал gemsets
rvm use ruby-2.0.0-p598@redmine --create
Ну и задал нужное мне окружение c помощью файла
.rvmrc
в каталоге проекта следующего содержания: rvm use ruby-2.0.0-p598@redmine
Теперь после захода в каталог проекта, RVM будет выполнять команду указаную в этом файле и выдавать подобную надпись зеленым цветом
Using /usr/local/rvm/gems/ruby-2.0.0-p598 with gemset redmine
Далее я установил passenger для нужной мне версии руби
gem install passenger
Далее я его просто выбрал в конфиг файле nginx’a
/etc/nginx/conf.d/passenger.conf
passenger_root /opt/passenger-4.0.50; passenger_ruby /usr/local/rvm/gems/ruby-2.0.0-p598@redmine/wrappers/ruby; passenger_default_user www-data; passenger_default_group www-data;У меня passenger был собран отдельно, поэтому я сменил только ruby. Если необходимо собрать nginx c модулем можно воспользоваться
passenger-install-nginx-module
который предложит несколько вариантов установки и конфигурации nginx’a.