Чтение онлайн

на главную - закладки

Жанры

Программирование на языке Ruby
Шрифт:

gem help install

 Более подробные справки:

gem help commands показать все команды 'gem'

gem help examples показать примеры использования

gem help COMMAND вывести справку о команде COMMAND

(например, 'gem help install')

 Дополнительная информация:

 forge.org

Самые важные команды не вызывают затруднений. Например, чтобы установить библиотеку

feedtools
, нужно выполнить команду:

gem install feedtools

Сначала она будет искать gem-пакет локально, а если не найдет, то обратится к серверу Ruby Forge. По умолчанию устанавливается последняя версия (хотя в некоторых случаях вам задают вопрос, какой именно пакет вы хотите установить). Можно и явно указать версию с помощью флага

– v
или
– -version
. Есть еще несколько флагов, управляющих установкой; подробную информацию дает команда
gem help install
.

Иногда gem-пакет зависит от других пакетов. В таком случае вас спросят, надо ли их устанавливать. Понятно, что, отказавшись от требуемых пакетов, вы не сможете установить и тот, что хотели изначально.

Как узнать имя нужного вам пакета? Если он находится на сайте RubyForge, то обычно называется так же, как проект. Например, программа

rake
находится на страницеили простопоэтому для установки нужно выполнить команду
gem install rake
.

Если вы не располагаете даже такой информацией, попробуйте воспользоваться командой

gem search
. Если указать часть предполагаемого имени gem-пакета, то будут найдены все пакеты с похожими именами. По умолчанию поиск производится на локальном компьютере; чтобы искать в центральном репозитории, задайте флаг
– -remote
. Например, команда
gem search xml --remote
нашла 12 пакетов.

Чтобы получить информацию об установленном пакете, введите команду

gem specification
— она напечатает все содержащиеся в пакете метаданные (в основном содержимое самого файла
gemspec
). Флаг
– -remot
e существует, но пока не реализован.

Кроме того, имеется команда деинсталляции

uninstall
, а также команды
query
и
list
, отчасти перекрывающие друг друга и команду
search
. Есть и еще много команд (дополнительную информацию вы найдете во встроенной справке или в онлайновой документации).

Полезно установить gem-сервер и на своей системе — не в качестве репозитория, из которого другие смогут дистанционно устанавливать пакеты, а как централизованный механизм, позволяющий просматривать в браузере все локально установленные пакеты вместе с документацией.

Для запуска gem-сервера просто наберите команду

gem_server
(обычно сервер работает в фоновом режиме). Указав в адресной строке браузера URL
localhost:8808
, вы увидите страницу «RubyGems Documentation Index», где в алфавитном порядке перечислены все установленные gem-пакеты со ссылками на документацию в формате
rdoc
и на домашнюю страницу проекта в Web.

О системе RubyGems можно еще многое сказать; к тому же она постоянно развивается. Самая актуальная информация представлена на сайте http://rubygems.rubyforge.org.

21.2. Программа Rake

Утилита

rake
— это вариация на тему давно известной в UNIX программы
make
. Но вместо «странного» синтаксиса
make
, который все мы знаем и терпеть не можем, в
rake
используется код на самом Ruby. Программу написал Джим Вайрих (Jim Weirich); это первый, насколько мне известно, пример формальной реализации языка DSL (domain-specific language — язык предметной области) на Ruby.

Есть два варианта написания названия: Rake и

rake
. Первый - это название инструмента, второй — имя самого исполняемого файла. На мой взгляд, различие несущественное.

Нет сомнения, что на дизайн Rake оказала большое влияние программа make, так что терминология одна и та же. Как и раньше, мы говорим о целях, действиях, зависимостях и правилах.

Применениям Rake нет числа. Вы можете пользоваться ею для сборки проектов, написанных на С, C++ или Java (или на любом другом языке). Годится она и для генерирования документации с помощью RDoc, развертывания программ, обновления проекта на сайте Ruby Forge и множества других задач.

Неудивительно, что на вход Rake подается командный файл (rake-файл), который по умолчанию называется

rakefile
или
Rakefile
. Если вы хотите назвать его иначе, укажите имя с помощью флага
– f
или
– -rakefile
:

$ rake # Искать сначала 'rakefile', потом 'Rakefile'.

$ rake -f myfile # Использовать файл с именем 'myfile'.

Основная «единица работы» в Rake — задание; именуются задания посредством символов Ruby. Предполагается, что в каждом rake-файле есть задание по умолчанию

:default
— оно будет выполняться, если явно не указано другое имя.

$ rake # Выполнить задание по умолчанию.

$ rake mytask # Выполнить задание с именем 'mytask'.

Внутри rake-файла мы указываем задания с помощью метода

task
, передавая символ и блок:

task :mytask do

 # ...

end

Содержимое блока в примере выше опущено. То, что в нем находится, называется действием.

В действии можно выполнять произвольный код на Ruby. Для типичных операций предусмотрены готовые методы. Так, метод

sh
(название которого напоминает об интерпретаторе команд в UNIX) запускает системную команду.

Методы

cp
,
mv
и
rm
предназначены соответственно для копирования, перемещения и удаления файлов. (Как и
make
, Rake беззастенчиво выдает свое происхождение от UNIX.) Есть и другие подобные команды; дополнительную информацию вы найдете в онлайновой документации на сайте http://docs.rubyrake.org.

При желании можете заключать блок в фигурные скобки, но обычно в этом случае интерпретатор Ruby ожидает, что параметры будут заключены в круглые скобки.

Поделиться:
Популярные книги

Эпоха Опустошителя. Том I

Павлов Вел
1. Вечное Ристалище
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Эпоха Опустошителя. Том I

Тор. Дитя Асгарда

Vegetarianka
Фантастика:
фэнтези
мистика
5.00
рейтинг книги
Тор. Дитя Асгарда

Париж

Резерфорд Эдвард
The Big Book
Проза:
историческая проза
7.40
рейтинг книги
Париж

Сумерки божков

Амфитеатров Александр Валентинович
1. Романы
Проза:
русская классическая проза
5.00
рейтинг книги
Сумерки божков

Будущее разума

Каку Митио
Научно-образовательная:
прочая научная литература
физика
8.00
рейтинг книги
Будущее разума

Эволюционер из трущоб. Том 10

Панарин Антон
10. Эволюционер из трущоб
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Эволюционер из трущоб. Том 10

Практические основы кулинарного искусства. Краткий популярный курс мясоведения

Игнатьев Михаил
Дом и Семья:
кулинария
6.25
рейтинг книги
Практические основы кулинарного искусства. Краткий популярный курс мясоведения

Сборник статей и интервью 2009г (v1.23)

Кагарлицкий Борис Юльевич
Научно-образовательная:
политика
5.00
рейтинг книги
Сборник статей и интервью 2009г (v1.23)

Миры Источника. Трилогия

Авраменко Олег Евгеньевич
19. В одном томе
Фантастика:
фэнтези
5.60
рейтинг книги
Миры Источника. Трилогия

Экономическая журналистика

Шевчук Денис Александрович
Справочная литература:
справочники
5.00
рейтинг книги
Экономическая журналистика

Бояръ-Аниме. Газлайтер. Том 30

Володин Григорий Григорьевич
30. История Телепата
Фантастика:
альтернативная история
аниме
фэнтези
6.67
рейтинг книги
Бояръ-Аниме. Газлайтер. Том 30

Воронцов. Перезагрузка. Книга 5

Тарасов Ник
5. Воронцов. Перезагрузка
Фантастика:
попаданцы
альтернативная история
фэнтези
фантастика: прочее
6.00
рейтинг книги
Воронцов. Перезагрузка. Книга 5

Стархэвен

Силверберг Роберт
Фантастика:
научная фантастика
5.00
рейтинг книги
Стархэвен

Наследник

Майерс Александр
3. Династия
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Наследник