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

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

Жанры

Программирование на языке 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 ожидает, что параметры будут заключены в круглые скобки.

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

Фельдмаршал Кутузов. Мифы и факты

Троицкий Н. А.
Россия забытая и неизвестная
Научно-образовательная:
военная история
4.00
рейтинг книги
Фельдмаршал Кутузов. Мифы и факты

Возвышение Меркурия. Книга 4

Кронос Александр
4. Меркурий
Фантастика:
героическая фантастика
боевая фантастика
попаданцы
5.00
рейтинг книги
Возвышение Меркурия. Книга 4

Стоп. Снято! Фотограф СССР

Токсик Саша
Фантастика:
попаданцы
альтернативная история
5.25
рейтинг книги
Стоп. Снято! Фотограф СССР

Вечный. Книга IV

Рокотов Алексей
4. Вечный
Фантастика:
боевая фантастика
попаданцы
рпг
6.25
рейтинг книги
Вечный. Книга IV

Демон Власти

Ильин Михаил Ильич
Документальная литература:
публицистика
6.25
рейтинг книги
Демон Власти

Гримуар темного лорда VIII

Грехов Тимофей
8. Гримуар темного лорда
Фантастика:
боевая фантастика
альтернативная история
аниме
фэнтези
фантастика: прочее
попаданцы
5.25
рейтинг книги
Гримуар темного лорда VIII

Звезда Смерти

Ривз Майкл
Звездные войны
Фантастика:
боевая фантастика
4.00
рейтинг книги
Звезда Смерти

Похорони Меня Ложью

Сото С. М
2. Двойная Ложь
Детективы:
триллеры
5.00
рейтинг книги
Похорони Меня Ложью

Имперец. Том 1 и Том 2

Романов Михаил Яковлевич
1. Имперец
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Имперец. Том 1 и Том 2

Том 12. Дополнительный

Стругацкие Аркадий и Борис
12. Собрание сочинений в одиннадцати томах
Фантастика:
социально-философская фантастика
5.00
рейтинг книги
Том 12. Дополнительный

Дочь Озара

Кривчиков Константин Юрьевич
1. Огонь и Камень
Фантастика:
фэнтези
5.00
рейтинг книги
Дочь Озара

Орден Багровой бури. Книга 1

Ермоленков Алексей
1. Орден Багровой бури
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Орден Багровой бури. Книга 1

Книга мертвых

Престон Дуглас
7. Пендергаст
Фантастика:
ужасы и мистика
6.25
рейтинг книги
Книга мертвых

Салтыков-Щедрин

Тюнькин Константин Иванович
694. Жизнь замечательных людей
Документальная литература:
биографии и мемуары
5.00
рейтинг книги
Салтыков-Щедрин