Библиотеки

Как и в большинстве языков программирования, в 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”:

$ gem search -r html

*** REMOTE GEMS ***

html-sample (1.0, 1.1)

Флаг --remote / -r показывает, что мы хотим проверить официальный RubyGems.org репозиторий (поведение по-умолчанию). С флагом --local / -l вы можете совершить локальный поиск среди установленных у вас гемов.

Установка гема

Когда вы знаете, какой гем вы желаете установить, например, популярные Rails:

$ gem install rails

Вы даже можете установить определенную версию библиотеки. Просто используйте флаг --version / -v:

$ gem install rails --version 5.0

Список всех гемов

Для просмотра всех локально установленных гемов:

$ gem list

Чтобы получить (очень длинный) список всех гемов, доступных на RubyGems.org:

$ gem list -r

Документация

Документация доступна в вашем терминале:

$ gem help

Например, gem help commands очень полезна, выводит список всех подкоманд команды gem.

Создание своего собственного гема

RubyGems.org содержит несколько инструкций по этой теме. Вы также можете посмотреть в сторону Bundler, полезный инструмент, который поможет вам управлять зависимостями приложений и может быть использован вместе с RubyGems.