Как и в большинстве языков программирования, в Ruby можно использовать широкий набор сторонних библиотек.
Большая часть из них реализована в форме гема. RubyGems –
менеджер пакетов Ruby, созданный для упрощения процесса создания,
распространения и установки библиотек (в каком-то смысле это
распределенный пакетный менеджер, похожий, скажем, на apt-get
, но
нацеленный на Ruby приложения). С версии Ruby 1.9 RubyGems используются
по умолчанию, хотя для предыдущих версий его нужно было устанавливать вручную.
Некоторые другие библиотеки реализованы как архивы (.zip или .tar.gz)
исходного кода. Процесс установки может различаться, обычно файл
README
или INSTALL
содержит инструкции по установке.
Давайте взглянем на поиск библиотек и установку их для дальнейшего использования.
Поиск библиотек
Основное место, где хранятся библиотеки - RubyGems.org,
предоставляет библиотеки Ruby в виде гемов. Вы можете поискать прямо на
сайте или воспользоваться командой gem
.
Используя команду gem search -r
, вы можете проверить репозиторий
RubyGems. Например, gem search -r rails
вернет список относящихся к
Rails библиотек. С опцией --local
(-l
) вы можете произвести локальный
поиск среди установленных у вас гемов. Чтобы установить гем, используйте
gem install [gem]
. Просмотреть список установленных библиотек можно
командой gem list
. Для более подробной информации о команде gem
смотрите ниже или почитайте документацию RubyGems.
Также есть и другие источники библиотек. RubyForge был популярным домом для библиотек Ruby, но в последний год возросла популярность GitHub, как одного из главных хранилищ исходного кода приложений околорубиевой тематики. Намного чаще сейчас исходный код гема размещен на GitHub и сам гем опубликован на RubyGems.org.
The Ruby Toolbox это проект, который позволяет легче исследовать проекты на Ruby с открытым исходным кодом. Там есть категории для различных проблем разработки, содержащие большое количество информации о проектах, вроде даты релиза и активности разработчиков, а также зависимости и рейтинг проекта, основанный на его популярности на RubyGems.org и GitHub.com. Поиск поможет быстрей найти то, что вы ищете.
Еще пару слов о RubyGems
Это был краткий обзор команды gem
для вашего повседневного использования.
Более подробная документация также доступна, она покрывает все аспекты
данной пакетной системы.
Поиск среди доступных гемов
Команда search может быть использована для поиска гемов по названию. Гемы, название которых начинаются с заданной строки, будут отображены в результатах. Например, чтобы найти гемы, относящиеся к “html”:
Флаг --remote
/ -r
показывает, что мы хотим проверить официальный
RubyGems.org репозиторий (поведение по-умолчанию).
С флагом --local
/ -l
вы можете совершить локальный поиск среди
установленных у вас гемов.
Установка гема
Когда вы знаете, какой гем вы желаете установить, например, популярные Rails:
Вы даже можете установить определенную версию библиотеки. Просто
используйте флаг --version
/ -v
:
Список всех гемов
Для просмотра всех локально установленных гемов:
Чтобы получить (очень длинный) список всех гемов, доступных на RubyGems.org:
Документация
Документация доступна в вашем терминале:
Например, gem help commands
очень полезна, выводит список всех
подкоманд команды gem
.
Создание своего собственного гема
RubyGems.org содержит несколько инструкций по этой теме. Вы также можете посмотреть в сторону Bundler, полезный инструмент, который поможет вам управлять зависимостями приложений и может быть использован вместе с RubyGems.