Установка Ruby и Ruby On Rails на Debian Linux
30 сентября 2011, 23:18
Как известно, дистрибутив Debian отличается своей стабильностью. А значит.. версии ПО (а конкретно ruby) в его репозиториях поражают своей актуальностью!
Самым популярным способом для продвинутого пользователя Linux будет установка интерпретатора ruby из исходных кодов. Однако есть способ более гибкий и интересный - использование RVM.
В Debian (и соответственно в Ubuntu) подобные приготовления провести довольно просто, разработчики дистрибутива о нас уже позаботились.
Просто выполним команду:
Следующим шагом необходимо установить Git и curl. Именно с их помощью и будут скачиваться исходники.
Ого! Впечатляет? На данный момент самым популярным выбором будет установка версии 1.8.7 (да, с выходом Rails 3.1 можно потихоньку переходить на 1.9.2). Чтож, приступим.
Для начала необходимо доустановить в систему дополнительные (опциональные) библиотеки, которые могут быть использованы самим ruby и его отдельными gem'ами. Например это zlib.
И собственно приступаем к установке ruby (из-под пользователя root; sudo в данном случае не сработает):
Смотрим и наслаждаемся процессом. На наших VPS установка занимает всего несколько минут :-)
При компиляции ruby, инсталлятор проверяет найденные в системе библиотеки и устанавливает обертки для них. Например это упомянутый ранее zlib, curses, openssl. К слову сказать, без первой не будет работать так горячо любимый нами bundler.
Итак, важное знание заключается в том, что в любой момент мы можем легко доустановить обертки для любой из забытых нами библиотек! Для этого нам необходимо сначала из репозиториев установить -dev версию библиотеки (для zlib это zlib1g-dev), затем зайти в подкаталог ext исходных кодов интерпретатора и выполнить пару несложных команд.
Вот как это выглядит для установки zlib для ruby-1.8.7:
Данная команда выберет версию 1.8.7 и дальнейшие вызовы ruby, gem - будут использовать данную версию интерпретатора. И можно приступать к установке дополнительных гемов:
В завершении стоит отметить, что для запуска проектов на Ruby On Rails может понадобиться использовать такую команду:
Ведь на самом деле команда rvm - это дополнительная функция в шелле пользователя. В некоторых случаях она не доступна и необходимо напрямую использовать исполняемый файл rvm.
Надеюсь, статья оказалась полезной :-) Если есть какие-то вопросы - обязательно пишите! С радостью пообщаемся.
Самым популярным способом для продвинутого пользователя Linux будет установка интерпретатора ruby из исходных кодов. Однако есть способ более гибкий и интересный - использование RVM.
Что же это такое?
RVM расшифровывается как Ruby Version Manager. Средство управления версиями Ruby. Данная утилита позволит нам устанавливать на сервере различные версии интерпретаторов (от MRI 1.8 до REE) и удобным способом переключаться между ними. Также, RVM позволяет нам создавать gemset'ы - наборы gem'ов, установленные в отдельные каталоги и для каждого проекта переключаться между ними. Но данная функциональность нам не очень интересна, т.к. замечательный инструмент под названием bundler отлично справляется с задачей управления версиями gem'ов.Варианты установки
Согласно документации, существует два способа установки RVM: однопользовательский (если мы являемся разработчиком и ставим ruby только для себя), либо многопользовательский - если мы разворачиваем сервер для хостинга Ruby On Rails приложений. Именно о последнем способе мы и будем вести речь. На самом деле, разница невелика :-)Подготовка системы
Первым делом необходимо установить дополнительные пакеты. Среди них и компилятор gcc, потому что RVM будет собирать ruby из исходных кодов.В Debian (и соответственно в Ubuntu) подобные приготовления провести довольно просто, разработчики дистрибутива о нас уже позаботились.
Просто выполним команду:
# sudo apt-get install build-essential
Следующим шагом необходимо установить Git и curl. Именно с их помощью и будут скачиваться исходники.
# sudo apt-get install git curl
Установка RVM
Прочитав по-диагонали мануал с официального сайта, находим магическую команду установки, которую нам необходимо выполнить (обязательно под пользователем root или через sudo):
# sudo bash < <(curl -s https://rvm.beginrescueend.com/install/rvm)
Самое интересное
Итак, RVM должен быть успешно установлен в нашей системе. Давайте в этом убедимся и заодно порадуемся списку поддерживаемых версий интерпретатора:
# rvm list known
Ого! Впечатляет? На данный момент самым популярным выбором будет установка версии 1.8.7 (да, с выходом Rails 3.1 можно потихоньку переходить на 1.9.2). Чтож, приступим.
Для начала необходимо доустановить в систему дополнительные (опциональные) библиотеки, которые могут быть использованы самим ruby и его отдельными gem'ами. Например это zlib.
# sudo apt-get install zlib1g-dev
И собственно приступаем к установке ruby (из-под пользователя root; sudo в данном случае не сработает):
# rvm install ruby-1.8.7
Смотрим и наслаждаемся процессом. На наших VPS установка занимает всего несколько минут :-)
Установка дополнительных библиотек
Хочу с вами поделиться важным знанием, о котором тяжело найти упоминание в инструкциях по установке Ruby и/или RVM.При компиляции ruby, инсталлятор проверяет найденные в системе библиотеки и устанавливает обертки для них. Например это упомянутый ранее zlib, curses, openssl. К слову сказать, без первой не будет работать так горячо любимый нами bundler.
Итак, важное знание заключается в том, что в любой момент мы можем легко доустановить обертки для любой из забытых нами библиотек! Для этого нам необходимо сначала из репозиториев установить -dev версию библиотеки (для zlib это zlib1g-dev), затем зайти в подкаталог ext исходных кодов интерпретатора и выполнить пару несложных команд.
Вот как это выглядит для установки zlib для ruby-1.8.7:
# sudo apt-get install zlib1g-dev
# cd /usr/local/rvm/src/ruby-1.8.7-p352/ext
# cd zlib
# ruby extconf.rb
# make && make install
# cd /usr/local/rvm/src/ruby-1.8.7-p352/ext
# cd zlib
# ruby extconf.rb
# make && make install
Bundler, Rails и сотоварищи
Для того, чтобы использовать установленную версию интерпретатора, необходимо дать соответствующую команду RVM'у:
# rvm use 1.8.7
Данная команда выберет версию 1.8.7 и дальнейшие вызовы ruby, gem - будут использовать данную версию интерпретатора. И можно приступать к установке дополнительных гемов:
# gem install bundler rails
В завершении стоит отметить, что для запуска проектов на Ruby On Rails может понадобиться использовать такую команду:
# /usr/local/rvm/bin/rvm 1.8.7 exec ruby script/server
Ведь на самом деле команда rvm - это дополнительная функция в шелле пользователя. В некоторых случаях она не доступна и необходимо напрямую использовать исполняемый файл rvm.
Надеюсь, статья оказалась полезной :-) Если есть какие-то вопросы - обязательно пишите! С радостью пообщаемся.
Размещено в категории: веб-разработка, ruby and rails
